У меня есть объект модели данных ядра, называемый Entry. В этом случае у меня есть атрибут IsFavorite.
Я хотел бы использовать NSPredicate для фильтрации результатов моего NSFetchedResultsController.
В настоящее время я получаю EXC_BAD_ACCESS, когда выполняется выборка.
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();
}
ЕСЛИ я удаляю строку, которая устанавливает предикат на fetchRequest, мой код выполняется отлично.
Я уверен, что n00bin из предиката, но у меня возникли большие трудности с попыткой выяснить, как выполнять операции над значением BOOLEAN из основного объекта модели данных. Отмечено, что есть ответы на вопрос о том, как это сделать со значением строки или int, но я не могу найти пример BOOLEAN.
Большое спасибо!