我有一個從CoreDataBook示例開始的標準方式的- (NSFetchedResultsController *)fetchedResultsController
內的謂詞。NSPredicate導致更新編輯返回NSFetchedResultsChangeDelete不NSFetchedResultsChangeUpdate
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"state=%@ && date >= %@ && date < %@", @"1",fromDate,toDate];
[fetchRequest setPredicate:predicate];
這工作正常,但是當編輯一個項目,它返回與NSFetchedResultsChangeDelete不更新。當主視圖返回時,它缺少該項目。如果我重新啓動模擬器,刪除不會被保存,並且顯示正確的編輯結果謂詞正常工作。
case NSFetchedResultsChangeDelete:
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
我可以證實通過註釋掉兩個謂語線ONLY,然後所有的作品,因爲它應該擁有整套編輯後返回正確,並呼籲NSFetchedResultsChangeUpdate代替NSFetchedResultsChangeDelete行爲。
我已閱讀http://matteocaldari.it/2009/11/multiple-contexts-controllers-delegates-and-coredata-bug 誰報告類似的行爲,但我還沒有找到解決我的問題的工作。
非常感謝。這節省了我的一天! :) – Daniel 2013-08-30 11:21:00