NSFetchRequest e predicateWithBlock
Estou brincando com um aplicativo que usa o Core Data e o NSManagedObjects para preencher um UITableView. Existe apenas uma classe no meu aplicativo, chamadaEvent
. Eu criei o seguinte método de instância personalizado emEvent
:
- (BOOL)isExpired {
return ([[self.endOn dateAtEndOfDay] timeIntervalSinceNow] < 0);
}
Eu gostaria de limitar oUITableView
que exibeEvent
objetos apenas para os eventos que expiraram - ou seja, ondeisExpired
retornaYES
. Eu tentei fazer isso adicionando umNSPredicate
aoNSFetchRequest
:
NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary * bindings) {return([evaluatedObject isExpired]);}];
[fetchRequest setPredicate:predicate];
mas eu recebo o erro:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Problem with subpredicate BLOCKPREDICATE(0x272ac)' ***
. Isso significa que você não pode usar um predicado de bloco com um NSFetchRequest? Ou acabei de construí-lo de forma inadequada?
Obrigado!