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