【发布时间】:2012-01-30 10:13:07
【问题描述】:
(抱歉标题太长了)
我有一个自定义对象 Person,它又具有一个 NSSet,它有几个名为 Appointment 的自定义对象。因此,一个人可以有多个约会。约会的值是 startTime 和 endTime。
这些是 Core Data NSMangagedObject 类。
@interface Person : NSManagedObject
@property (nonatomic, retain) NSString *personName;
@property (nonatomic, retain) NSSet *appointments;
// etc
@end
@interface Appointment : NSManagedObject
@property (nonatomic, retain) NSNumber * startSecond;
@property (nonatomic, retain) NSNumber * endSecond;
// etc
@end
我如何获得人员列表,按照他们任何约会中最早的 startSecond 的顺序排列?
【问题讨论】:
-
您可能应该创建一个自定义比较函数,该函数首先获取某人约会的最早日期。 (如果您每次都一个接一个地添加每个约会,那么您可能会保留一个保留最早时间的变量,只需检查具有最新最低时间的新约会)。然后你可以简单地比较:每个人和他们最早的日期相互比较,一个简单的日期比较。这对于 NSManagedObjects 也应该是可行的,因为它们继承自 NSObject。我可能可以给你写一个例子,但首先让我知道这是否是你所寻求的
-
有没有办法在不添加额外变量的情况下做到这一点?
标签: iphone objective-c ios core-data