2012-04-27 54 views
1

我寫了一個沒有核心數據的應用程序。現在我想包含一些方法來實現撤消和重做無核心數據。
不幸的是,我在互聯網,書籍等上找不到任何東西。
如何撤消和重做手勢處理

我以爲我有兩個NSMutableArray應該有堆棧的功能。
所以我把它們叫做undoStack和redoStack。如果我做一個動作,例如手勢,這動作要保持在陣列中:

[undoStack ADDOBJECT:gestureRecognizer];

如果單擊按鈕撤消,以下語句應執行:

[undoStack的removeObject:[undoStack lastObject]]; 和

[redoStack addObject:[undoStack lastObject]];

在最後我有一個保存按鈕,清除棧自動

這一切都很好,但我怎麼能保存在一個陣列中的所有動作?
操作,如:panGesture,pinchGesture和rotationGesture

預先感謝您

回答

1

添加的所有行動NSMutableArray(panGesture,pinchGesture,rotationGesture),那麼該陣列添加到undoStack陣列。並像對待一個對象一樣使用它。只有當你需要使用它時,你需要提取它。或者,您可以舉例如果您有4 gestures,然後將所有手勢添加到undoStack,並且當您需要將它們移動到redoStack時,請取4個最後一個對象並將其添加到redoStack

+0

謝謝你我的回答給我留下了深刻的印象,我會再次發表評論,當我試一試:)但現在你得到+1 – Studie 2013-05-08 09:14:21