问题描述
|
因此,经过一个小时的研究,我发现大多数人似乎都同意http://www.thismuchikNow.co.uk/?p=71上的函数是将haversine函数实现为当您的数据库中包含经度和纬度时,iPhone项目可按距离对结果进行排序。不过,实际上如何将其包含在您的项目中似乎几乎没有帮助,而且我也没有运气。
无论将函数添加到ViewController.m文件的哪个位置,都会出现错误
expected \')\' before \'*\' token
。有人提到您需要在您的.h文件中添加static void distanceFunc(sqlite3_context *context,int argc,sqlite3_value **argv);
,但是我在这里也遇到了同样的错误。
谁能提供在iPhone项目中包含此功能的简短示例?
解决方法
你可以用这个
+(void)distanceFunc(sqlite3_context *context,int argc,sqlite3_value **argv);
或将viewController文件的.m扩展名更改为.mm。(也可以尝试使用此扩展名)
更新
+(void)distanceFunc:(sqlite3_context *)context arg1:(int)argc arg2:(sqlite3_value **)argv;
尝试更新一个。
谢谢,
,将代码插入.m
文件中任何位置的链接中应该没有问题。如果在函数定义行出现错误,则可能是编译器不知道ѭ5是什么。这意味着您没有在.m文件中包含sqlite3.h
头。
,好的,所以我的问题是没有使用#import <sqlite3.h>
和没有在项目中添加libsqlite3.0.dylib
框架的结合。至于从http://www.thismuchiknow.co.uk/?p=71放置函数的位置,我将其放在控制器的.m
文件中的#import
标签和@synthesize
之间,就像在博客文章。