0
在編寫iPad應用程序時,我只是用帶有「動態」謂詞的fetchedResultsController遇到麻煩。似乎謂詞的變化被忽略了。無論謂詞如何變化,我總是得到第一次取數的結果...iPad:CoreData FetchedRequest忽略謂詞變化
在iphone-env(3.1.x)上運行相同的代碼沒有問題!
樣本:
- (void)performSearch:(NSString *)searchText {
self.displaySearchResults = TRUE;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"searchWords contains[cd] %@", searchText];
[self.fetchedSearchResultsController.fetchRequest setPredicate:predicate];
NSError *error = nil;
if (![self.fetchedSearchResultsController performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
if(deviceIsIPad) {
[self showSearchResults];
}
else {
[cookBookOverview reloadData];
}
}
可以
任何人的幫助PLZ?
順便說一句:請原諒我痛苦的英語;-)
我可以看到你是如何創建fetchedSearchResultsController所有時間(這樣我就可以看到什麼你正在使用的cacheName)?它可能會重用緩存,因爲在測試緩存一致性時不考慮謂詞。嘗試使用deleteCacheWithName:清除緩存,每次調用setPredicate: – smountcastle 2010-06-03 14:34:19
bingo時,似乎清除了適當的緩存,修復了我的問題! THX A LOT ... – Michael 2010-06-03 15:28:31