【发布时间】:2014-01-11 02:54:33
【问题描述】:
会发生什么:
每当我创建一个新的 Core Data 对象时,我的应用程序都会挂起大约 3 秒。该对象不是大的或复杂的对象。
-
详情:
按下按钮时,会创建一个新对象,设置属性,然后使用以下方法保存:
[[SharedCoreDataBackend managedObjectContext] save:&error];
这会导致 NSFetchedResultsController 如下更新。我已将减速范围缩小到以下代码行:
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:self.deletedRowIndexPaths withRowAnimation:UITableViewRowAnimationNone];
[self.tableView insertRowsAtIndexPaths:self.insertedRowIndexPaths withRowAnimation:UITableViewRowAnimationNone];
[self.tableView reloadRowsAtIndexPaths:self.updatedRowIndexPaths withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
}
-
那么...
任何想法是什么问题?我可以发布更多有助于解决此问题的测试或代码吗?
【问题讨论】:
-
有什么理由不使用标准的样板委托方法(如邓肯的回答所示)?
标签: ios objective-c core-data nsfetchedresultscontroller