Ich habe ein Kerndatenmodellobjekt namens Entry. In diesem habe ich ein Attribut IsFavorite.NSPredate - Filtern von Werten basierend auf einem gespeicherten Wert von BOOLEAN
Ich möchte ein NSPredicate verwenden, um die Ergebnisse meiner NSFetchedResultsController zu filtern.
Derzeit bekomme ich EXC_BAD_ACCESS, wenn der Abruf ausgeführt wird.
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
// Edit the entity name as appropriate.
NSEntityDescription *thisEntry = [NSEntityDescription entityForName:@"Entry" inManagedObjectContext:managedObjectContext_];
[fetchRequest setEntity:thisEntry];
NSPredicate *fetchPredicate = [NSPredicate predicateWithFormat:@"Entry.isFavorite == %@", [NSNumber numberWithBool: YES]];
[fetchRequest setPredicate:predicate];
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];
aFetchedResultsController.delegate = self;
NSError *error = nil;
if (![aFetchedResultsController performFetch:&error]) {
NSlog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
Wenn ich die Zeile entfernen, die das Prädikat auf der fetchRequest setzt, führt mein Code perfekt.
Ich bin eindeutig auf das Prädikat hin, aber hatte viel Mühe, herauszufinden, wie man Operationen auf einem BOOLEAN Wert von einem Kerndatenmodellobjekt durchführt. Es wird angemerkt, dass es Antworten darauf gibt, wie dies mit einem String oder einem int-Wert zu tun ist, aber ich kann kein BOOLEAN-Beispiel finden.
Vielen Dank!
ich meinen Code oben aktualisiert haben - die nach wie vor mit EXC_BAD_ACCESS stürzt :( Wird es Entity sein. Attribut =? Wie ich geschrieben habe? Oder nur das Attribut =? – Lance
Es ist nicht das Abholen der App - Danke für Ihre Hilfe – Lance
Dies funktionierte für mich, wenn ich die NSNumber Beschreibung wie diese verwendet '[[NSNumber numberWithBool: NO] Beschreibung]; ' –