【发布时间】:2012-12-19 22:59:38
【问题描述】:
我有一个 NSMutableArray 的模型对象。
每个模型对象都有一个 NSDate 类型的 startTime 属性
我想使用NSPredicate 过滤NSMutableArray。
我想要一个包含比现在旧的项目的数组和一个包含比现在新的项目的数组。
这是我使用的代码,但过滤后的数组是空的。我确实确保主数组中有项目正在从中过滤。
NSPredicate *pastPredicate = [NSPredicate predicateWithFormat:@"(startTime < %@)", [NSDate date]];
NSPredicate *futurePredicate = [NSPredicate predicateWithFormat:@"(startTime >= %@)", [NSDate date]];
self.pastReservations = [self.reservations filteredArrayUsingPredicate:pastPredicate];
self.futureReservations = [self.reservations filteredArrayUsingPredicate:futurePredicate];
如果你们知道我做错了什么,可以告诉我吗?我认为我不应该使用内置类型的谓词块。
【问题讨论】:
-
代码对我来说似乎很好,在过滤数组之前添加一个断点并打印self.reservations中包含的对象,我怀疑数组是空的。
-
是的,由于解析错误,我所有的日期都为零。
-
@adrian.coroian:如果您的问题解决了,您可以发布自己的答案并将其标记为已接受,以便其他人看到问题已解决。