NSFetchRequest и ПредикатWithBlock
Я играю с приложением, которое использует 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? Или я просто построил это неправильно?
Спасибо!