我有这个声明,我试图弄清楚如何在核心数据中使用。
SELECT
(3963.0 * acos(sin(".$StartLat."/57.2958) * sin(latitude/57.2958) + cos(".$StartLat."/57.2958) * cos(latitude/57.2958) * cos(longitude/57.2958 - ".$StartLon."/57.2958))) as distance
FROM locations
ORDER BY distance
LIMIT 0, 10
我猜这是我需要修改的部分:
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Title" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
提前致谢。
最佳答案
简单的回答:你不能。
真正的答案:你还没有理解什么是核心数据。
Core Data 不是数据库。它不是 SQL。它不是任何形状或形式的关系数据库。
Core Data 是一个框架,用于从对象的内存表示中抽象出对象的持久性。它是一个对象管理框架。您通过对象与它交互。您不创建查询。您不执行 SQL。您请求对象。完整的 NSObject
子类。
请去阅读 Core Data Programming Guide 。
(对不起,如果这听起来很苛刻,但这是一个普遍被误解的事情,它必须完全明确)
关于iphone - 转换 sql 语句以用于核心数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6946059/