我偶尔会收到一个奇怪的CoreData
错误:
CoreData:FATAL ERROR:段信息的持久缓存 与当前配置不匹配。你有非法变异 NSFetchedResultsController的获取请求,其谓词或其 排序描述符,无需禁用缓存或使用 + deleteCacheWithName:
我发现另一个Stackoverflow线程说将缓存设置为nil,我已经完成了,但是没有修复错误:
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:nil];
错误来自我的getData
方法,该方法返回获取结果的数组。我经常调用这个方法,因为我想检查计数,并更新tableView:
+ (NSArray *)getData {
// Fetch Data
NSError *error = nil;
if (![[[AppDelegate instance] fetchedResultsController] performFetch:&error]) {
// Update to handle the error appropriately.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return [[AppDelegate instance].fetchedResultsController fetchedObjects];
}//end
为什么会导致错误?这是从fetchedResultsController
获取更新的对象数组的错误方法吗?