1

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

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

4

1 回答 1

0

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

我只会使用 tableview 的beginUpdate方法来冻结表格,然后将 fetchedResults 控制器归零,然后是核心数据堆栈。删除持久存储然后重建堆栈并创建一个新的获取结果控制器。然后告诉`endUpdate',然后告诉表重新加载数据。这一切都需要很短的时间,用户不会注意到。

于 2010-10-17T19:43:57.680 回答