我有这个声明,我试图弄清楚如何在核心数据中使用。

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/

10-11 14:51