我需要將持久性添加到NSOperationQueue
,因此用戶可以關閉我的應用程序而不會丟失任何數據。 我是核心數據的忠實粉絲,所以我正在尋找一種方法將我的NSOperation
子類存儲在覈心數據上。將核心數據存儲在NSOperation中
有什麼建議嗎?
我需要將持久性添加到NSOperationQueue
,因此用戶可以關閉我的應用程序而不會丟失任何數據。 我是核心數據的忠實粉絲,所以我正在尋找一種方法將我的NSOperation
子類存儲在覈心數據上。將核心數據存儲在NSOperation中
有什麼建議嗎?
我不確定你的問題,但我會嘗試給你一些提示。
是的,核心數據可能是一種行之有效的方法。我不知道你爲什麼需要存儲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找到。
很明顯,可能有其他解決方案來實現這一點,但我認爲這可能是一種簡單的方法來實現你想要做的事情。
希望有所幫助。
謝謝你的回答。我不能只使用一個提交的「isSync」,因爲我需要存儲一些其他信息,比如「isUpdated」或「isDeleted」。 但是,感謝關於nsoperation的鏈接。 – IgnazioC 2012-07-16 20:32:59
對不起,你能更好地解釋你想達到什麼嗎?謝謝。 – 2012-07-14 10:07:42
當然,但爲我的英語感到抱歉。 我需要從ipad應用程序發送一些信息到我的服務器,我創建了NSOperation的子類來執行這項工作。如果用戶在完成所有操作之前關閉應用程序,我需要以一種持久的方式保存它們...所以我認爲coredata可以是一個好主意。但問題是......我可以在coredata內保存一個nsoperation嗎? – IgnazioC 2012-07-14 15:22:45