iphone - 在 iPhone 上序列化来自 NSUndoManager 的状态数据

标签 iphone cocoa-touch nsundomanager

我已经在我的 iPhone 应用程序中设置了撤消/重做,现在我正在查看保存状态,因此当用户退出应用程序然后再次启动它时,一切都处于相同的状态,包括撤消/重做堆栈。我没有看到任何明显的方法来序列化 NSUndoManager。有什么好的方法可以实现这一点吗?

最佳答案

不幸的是,库存 NSUndoManager 不提供对其内部状态的访问。最好的选择是编写您自己的替代撤消管理器,或者使用开源实现,如 Graham Cox's GCUndoManager 。您将获得源代码级访问权限,并且添加 NSCoding 支持相当简单。

或者,您可以尝试对 NSUndoManager 进行子类化,以在其正常数据库之外维护自己的单独的、可序列化的撤消堆栈。

关于iphone - 在 iPhone 上序列化来自 NSUndoManager 的状态数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2596675/

相关文章:

iphone - NSZombieEnabled 防止我的​​应用程序崩溃

iphone - 禁用搜索栏键盘中的 'Search' 按钮

iphone - 如何在表格 View 内显示表格单元格的详细 View ?

ios - NSSortDescriptor 对许多关系子属性求和

cocoa - 无法从 NSTextField 成功注册撤消

iphone - 如何使用 NSUndoManager 支持替换 UITextView 中的文本?

objective-c - NSUndoManager 和替换/跳过撤消步骤

c# - MonoTouch.Dialog - 响应 DetailDisclosureButton 点击

iphone - 如何在 iOS 中添加来自特定类别的 iAds?

cocoa-touch - 在 CALayer 中使用 Core Graphics 绘图