CoreData致命错误:非法变异NSFetchedResultsController

时间:2012-07-16 21:14:58

标签: objective-c ios cocoa-touch core-data nsfetchedresultscontroller

我偶尔会收到一个奇怪的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获取更新的对象数组的错误方法吗?

0 个答案:

没有答案