我有一個適用於iOS的通用Core Data應用程序。每次改變時,我都會調用NSManagedContext中的save,所以所有的改變都會被移動到數據庫中。在我將核心數據中的上下文保存後,我可以撤銷操作嗎?
據我所知,我只能撤銷託管上下文的更改,但不能從數據庫中取消更改。我對嗎?
我想要的是立即提交所有更改到數據庫,並能夠撤消拉斯維加斯行動。那可能嗎?
我看到的唯一選擇是不提交最後一次更改,即將最後一次更改留在NSManagedContext中,因此我可以撤消該更改。但是這個想法有一個問題,如果程序崩潰或者用戶做了備份(使用iTunes或者iCloud),那麼這個最後的改變將會消失。你是否同意我的觀點?我如何讓數據始終在數據庫中提交,並且同時有可能撤銷最後的更改?據我所知,這是不可能的使用核心數據。我希望我錯了。
嗯,我想知道你對此的看法。謝謝。
問題是,保存或提交後撤消。在這種情況下,上下文管理器中沒有任何東西,所以什麼都不能撤消。 – Ricardo
然後,也許你需要實現你自己的撤銷機制... – atxe