我知道如何在 SQL 中编写我需要的请求,但找不到使用 Core Data 实现它的方法,或者如果我找到解决方案,它会很丑陋和困惑,使用 20 多行代码...
我的请求是SELECT MAX(distance) FROM DataTrip WHERE idTrip = (SELECT DISTINCT(idTrip) FROM DataTrip);
知道如何将 Core Data 与 NSSortDescriptor、NSPredicate、NSExpressionDescription 等一起使用吗?
谢谢!
更新 1
DataTrip 对象的数据模型:
@interface DataTrip : NSManagedObject {
@private
}
@property (nonatomic, retain) NSNumber * speed;
@property (nonatomic, retain) NSNumber * heading;
@property (nonatomic, retain) NSNumber * longitude;
@property (nonatomic, retain) NSNumber * timestamp;
@property (nonatomic, retain) NSNumber * latitude;
// More properties here
@property (nonatomic, retain) NSNumber * idTrip;
@property (nonatomic, retain) NSNumber * distance;
@end
所以我会在我的数据库中有多个具有相同 idTrip 的行,并且我想要每个 idTrip 的距离最大值。
最佳答案
这个问题很难回答,因为它取决于 SQL 和 Core Data 彼此有任何关系的假设。事实上,他们彼此关系不大。 Core Data 不是数据库,不应将其视为或视为数据库。您完成问题中指定的任务的方式在很大程度上取决于您创建的数据模型。没有这些信息,就不可能提供更多有用的信息。
关于ios - 核心数据中的 SQL 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877436/