2013-03-12 129 views
0

我有添加,更新的記錄。然後將它們與服務器同步。 根據服務器響應,如果其中一個未能更新,我想將NSManagedObject設置爲先前的值。正如我研究,UndoManager作爲堆棧,所以我無法找到任何記錄與Id和撤消該記錄,我說得對嗎?核心數據撤消特定記錄

最後,你會對這個問題提出什麼建議?

回答

0

您可以通過引入您自己的ID屬性並將其與服務器同步來跟蹤您的對象。我認爲這是一個堅實而穩健的設計 - 我已經多次使用它,沒有任何問題。

Apple確實爲每個託管對象提供了一個objectID,但這實際上意味着確保跨不同託管對象上下文的數據的一致性。我不會建議爲外部系統「濫用」這個ID。

您的服務器可以提供舊值(以及未更新的消息),您可以將其寫回到Core Data存儲區,使用您的ID屬性查找記錄。要進行更細化的更改和更新管理,您甚至可以使用時間戳屬性。