我一直在嘗試使用NSUndoManager類在我的一個應用程序中設計撤銷/重做功能,並且看到一些設計困難。 在我的應用程序,我只是有一個方法在iPhone SDK中使用NSUndoManager撤消/重做
-(IBAction) addLastBall:(Ball *)ball
因此,當用戶在UI選擇一個按鈕,我添加了一個球對象,以我的數組列表。但是,我沒有任何操作按鈕來移除球,這是UI工作流程的設計,無法更改。 因此,實施撤銷我叫addLastBall方法
[undoManager registerUndoWithTarget:self selector:@selector(removeBall:) object:ball];
內部下面的代碼完成此操作後,當用戶試圖執行撤消removeBall方法得到球對象調用。一切都很好。 但是,我不知道如何處理重做部分,當用戶嘗試重做時,我不確定哪個方法會被調用,因爲我需要添加用戶剛剛使用撤消操作移除的球對象。 任何見解都會非常有幫助。
非常感謝。
這是真的嗎?撤消管理者在重做時似乎沒有做任何事情。 – ebi 2014-07-01 17:08:51