NSFetchRequest y predicateWithBlock
Estoy jugando con una aplicación que usa Core Data y NSManagedObjects para completar un UITableView. Solo hay una clase en mi aplicación, llamadaEvent
. He creado el siguiente método de instancia personalizada enEvent
:
- (BOOL)isExpired {
return ([[self.endOn dateAtEndOfDay] timeIntervalSinceNow] < 0);
}
Me gustaría limitar elUITableView
que muestraEvent
se opone solo a los eventos que han caducado, es decir, dondeisExpired
devolucionesYES
. He intentado hacer esto agregando unNSPredicate
alNSFetchRequest
:
NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary * bindings) {return([evaluatedObject isExpired]);}];
[fetchRequest setPredicate:predicate];
pero me sale el error:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Problem with subpredicate BLOCKPREDICATE(0x272ac)' ***
. ¿Significa esto que no puede usar un predicado de bloque con un NSFetchRequest? ¿O acabo de construirlo incorrectamente?
¡Gracias!