我正在玩一个使用 Core Data 和 NSManagedObjects 来填充 UITableView 的应用程序。我的应用程序中只有一个类,称为Event. 我创建了以下自定义实例方法Event:
- (BOOL)isExpired {
return ([[self.endOn dateAtEndOfDay] timeIntervalSinceNow] < 0);
}
我想将UITableView显示Event对象限制为仅过期的事件 - 即isExpired返回的地方YES。我试图通过添加一个NSPredicate来做到这一点NSFetchRequest:
NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary * bindings) {return([evaluatedObject isExpired]);}];
[fetchRequest setPredicate:predicate];
但我得到错误:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Problem with subpredicate BLOCKPREDICATE(0x272ac)'
***。这是否意味着您不能将块谓词与 NSFetchRequest 一起使用?还是我构造不当?
谢谢!