我有一个名为Entry的核心数据模型对象。 在这我有一个属性IsFavorite。NSPredicate - 基于布尔值存储值筛选值
我想使用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值上执行操作时遇到了很多麻烦。请注意,有关如何使用字符串或整型值执行此操作的答案,但我找不到BOOLEAN示例。
非常感谢!
我已经更新了我上面的代码 - 这仍与EXC_BAD_ACCESS崩溃:( 会不会是实体。如果我使用了这样的NSNumber描述 ''[[NSNumber numberWithBool:NO] ='我写了'或只是属性=? – Lance 2010-08-10 01:53:20
这不是取得崩溃的应用程序 - 谢谢你的帮助 – Lance 2010-08-10 01:59:38
这对我有用,描述];' – 2011-04-20 18:50:34