我已经在我的 iPhone 应用程序中设置了撤消/重做,现在我正在查看保存状态,因此当用户退出应用程序然后再次启动它时,一切都处于相同的状态,包括撤消/重做堆栈。我没有看到任何明显的方法来序列化 NSUndoManager。有什么好的方法可以实现这一点吗?
最佳答案
不幸的是,库存 NSUndoManager 不提供对其内部状态的访问。最好的选择是编写您自己的替代撤消管理器,或者使用开源实现,如 Graham Cox's GCUndoManager 。您将获得源代码级访问权限,并且添加 NSCoding 支持相当简单。
或者,您可以尝试对 NSUndoManager 进行子类化,以在其正常数据库之外维护自己的单独的、可序列化的撤消堆栈。
关于iphone - 在 iPhone 上序列化来自 NSUndoManager 的状态数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2596675/