我写了一个没有核心数据的应用程序。现在我想要包含实现撤消和重做WITHOUT Core Data的方法。
不幸的是,我在网上找不到任何东西,书籍等。
我认为我有两个NSMutableArray应该有堆栈的功能。
所以我称之为undoStack和redoStack。如果我执行手势等操作,则应该在数组中执行此操作:
[undoStack addObject:gestureRecognizer];
如果单击撤消按钮,则应执行以下语句:
[undoStack removeObject:[undoStack lastObject]]; 和
[redoStack addObject:[undoStack lastObject]];
最后我有一个保存按钮,可以自动清除堆栈
这一切都很好,但我怎样才能将所有动作保存在一个阵列中?
动作如:panGesture,pinchGesture和rotationGesture
提前谢谢
答案 0 :(得分:1)
将所有操作添加到NSMutableArray
(panGesture,pinchGesture,rotationGesture),然后将该数组添加到undoStack
数组。和一个对象一样使用它。只有当你需要使用它时,你需要提取它。或者,例如,如果您有4 gestures
,则将所有手势添加到undoStack
,当您需要将其移至redoStack
时,请取4个最后的对象并添加到redoStack
}。