我正在尝试使用 Objective-C 开发一个 iPhone 应用程序(演示项目),它可以对图像应用多种摄影效果。
应用程序已启动并正在运行,但我想在 UI 中实现“撤消”和“重做”功能。我已经成功地编码了一级撤消重做,即轻松后退或前进一步。但当合并多个级别的撤消和重做操作时,这个概念就会变得复杂。当用户撤消一系列步骤然后分支去做其他事情时,它会变得特别模糊。我试图拯救的州越多,我就越受欺骗。
我想知道是否有实现此类操作的标准最佳实践。我应该使用什么架构或框架?这样做的普遍接受的程序是什么?任何有关简化此方法的一般建议将不胜感激。
请帮忙。
最佳答案
这完全取决于您处理图像的方式。
如果您正在处理图像,您可以使用 NSUndoManager,您可以在其中跟踪图像处理。
否则您可以跟踪对图像执行的一系列操作,但这是不太优选的。
但这一切都取决于您的要求以及您如何处理图像,
需要注意的重要事情是您对此类行为的内存。
如果您想在下次加载应用程序时重用您的操作,您可以使用 NSKeyArchiever。
关于iphone - 在 iPhone 中实现撤消重做的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15017353/