2

对不起标题,我不知道如何总结我的长问题。

我的应用在核心数据中有离线数据。用户可以通过从服务器下载最新的来刷新它。图像也是下载的一部分。当用户取消更新操作或中间发生某些事情时,我希望将数据保持在更新操作开始之前的相同状态。

许多论坛和博客建议每个辅助线程创建自己的上下文。由于图像下载将在并发操作队列下,许多线程将在运行。我不想在每个线程中保存以避免使数据库处于不完整状态。

如果我为辅助线程创建我的活动实体的副本会很好吗,以便所有这些辅助线程可以保存,根据需要进行编辑。当整个更新过程结束时,我可以将数据移植到单个线程中的主表/实体。

给定场景的推荐方法是什么?

4

1 回答 1

2

您一直在阅读的建议通常是正确的。只是,创建上下文的不是辅助线程,而是相反。

您创建主托管对象上下文的子上下文,确保NSPrivateQueueConcurrencyType在添加持久存储时使用。使用performBlock将为您自动管理线程和内存的 API。如果下载失败,您只需丢弃您的子上下文。

于 2013-11-08T05:26:06.237 回答