我有一個名爲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