我知道如何在SQL中编写我需要的请求,但无法找到使用Core Data实现它的方法,或者如果我找到一个解决方案,那将是丑陋和混乱,使用20多行代码......
我的请求是SELECT MAX(distance) FROM DataTrip WHERE idTrip = (SELECT DISTINCT(idTrip) FROM DataTrip);
任何想法如何使用NSSortDescriptor,NSPredicate,NSExpressionDescription等使用Core Data?
谢谢!
更新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的距离最大值。
答案 0 :(得分:2)
这个问题很难回答,因为它取决于SQL和核心数据彼此之间有任何关系的假设。事实上,他们彼此之间没什么关系。核心数据不是数据库,不应被视为或被视为一个数据库。完成在问题中指定的任务的方式高度依赖于您创建的数据模型。没有这些信息,就无法提供更多有用的信息。