NSFetchRequest und predicateWithBlock
Ich spiele mit einer App, die Core Data und NSManagedObjects zum Auffüllen einer UITableView verwendet. In meiner Anwendung gibt es nur eine Klasse mit dem NamenEvent
. Ich habe die folgende benutzerdefinierte Instanzmethode auf @ erstellEvent
:
- (BOOL)isExpired {
return ([[self.endOn dateAtEndOfDay] timeIntervalSinceNow] < 0);
}
Ich möchte das @ begrenzUITableView
das zeigtEvent
wendet sich nur an die Ereignisse, die abgelaufen sind - das ist, woisExpired
kehrt zurückYES
. Ich habe versucht, dies durch Hinzufügen eines @ zu tNSPredicate
zumNSFetchRequest
:
NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary * bindings) {return([evaluatedObject isExpired]);}];
[fetchRequest setPredicate:predicate];
aber ich bekomme den Fehler:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Problem with subpredicate BLOCKPREDICATE(0x272ac)' ***
. Bedeutet dies, dass Sie kein Blockprädikat mit einem NSFetchRequest verwenden können? Oder habe ich es nur unsachgemäß konstruiert?
Vielen Dank