我正在玩一个使用 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 一起使用?还是我构造不当?
谢谢!