Core Data と NSManagedObjects を使用して UITableView を設定するアプリで遊んでいます。私のアプリケーションには、 という名前のクラスが 1 つしかありません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 でブロック述語を使用できないということですか? それとも、不適切に構築しただけですか?
ありがとうございました!