使用核心数据存储NSOperation

时间:2012-07-14 07:14:02

标签: core-data persistence nsoperation nsoperationqueue

我需要向NSOperationQueue添加持久性,因此用户可以关闭我的应用程序而不会丢失任何数据。 我是核心数据的忠实粉丝,所以我正在寻找一种方法来将我的NSOperation子类存储在核心数据上。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我不确定你的问题,但我会尝试给你一些提示。

是的,核心数据可能是一种有效的方法。我不知道您需要存储NSOperation

的原因

相反,我可以建议您安排模型来处理同步操作。特别是,我会向您需要与服务器同步的实体添加一个属性。例如,调用它isSync并说它是BOOL值。

因此,当特定数据与服务器同步并且您收到了良好响应时,您可以修改该属性以采用YES值。这意味着已同步特定数据。换句话说,当一个对象(数据)未同步时,其isSync值为NO,否则为YES,如果需要,您可以将其删除。

下次,您可以将isSync值的数据同步到NO。他们尚未同步。其他元素已经同步,您可以删除它们以节省设备空间。

要了解如何进行同步,我真的建议您阅读此stackoverflow主题How to Sync iPhone Core Data with web server, and then push to other devices?

此外,如果您处理操作,则需要在用户关闭应用程序时取消当前操作。可以在Queue of NSOperations and handling application exit中找到一个非常有趣的讨论。

显然可能有其他解决方案来实现这一目标,但我认为这可能是实现您想要做的事情的简单方法。

希望有所帮助。