У меня есть основной объект модели данных под названием 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, мой код выполняется отлично.
Я явно не разбираюсь в предикате, но у меня были большие проблемы с попытками выяснить, как выполнять операции над значением BOOLEAN из основного объекта модели данных. Отмечено, что есть ответы о том, как это сделать со строковым или целым значением, но я не могу найти пример BOOLEAN.
Большое спасибо !