我創建了一個託管對象與我的iPhone應用程序中的幾個NSNumber成員。我初始化這些值。我也創建了一個子對象成員。然後,我創建一個撤消管理器,以便我可以對子對象執行撤消操作,而不會影響初始化的參數。然而,當我開始我的應用程序和電話...爲什麼NSUndoManager canUndo YES?
[undoManager canUndo];
...這是「是」。怎麼會這樣?頂級數據成員重置爲零。不僅如此,sub-objet的managedObjectContext也是零。如何在創建子對象之前創建撤銷管理器。撤消管理器是否恢復活動?它似乎允許撤銷整個託管對象,即使這些數據成員在創建撤消管理器之前已設置。
任何洞察力是讚賞。
NSManagedObjectContext創建它自己的撤銷管理器。使用disableUndoRegistration和enableUndoRegistration來防止某些事情被撤消。 – ughoavgfhw 2011-01-14 07:48:33