正确删除持久存储的时间以删除实体的所有条目

时间:2010-10-16 22:40:14

标签: objective-c xcode core-data persistent

我正在使用包含UITableView和UISearchTableView的UITableViewController。 该表列出了例如1000个条目。我想为用户提供一个删除所有的按钮 特定实体的条目。因为循环所有托管对象并保存上下文需要很长时间,所以我想通过删除持久存储并重建堆栈来删除。

现在我的问题:如何在UITableViewController中执行此操作?我不想重新启动应用程序进行删除,因此我想从应用程序委托中移动代码。

1 个答案:

答案 0 :(得分:0)

要删除持久存储,您需要关闭Core Data堆栈,删除持久存储,然后重建堆栈。

我只是使用tableview的beginUpdate方法来冻结表,然后将fetchedResults控制器,然后是核心数据堆栈清零。删除持久性存储,然后重建堆栈并创建新的获取结果控制器。然后告诉`endUpdate'然后告诉表重新加载数据。这应该都是用户不明显的短暂时间。