【发布时间】:2012-11-07 15:00:53
【问题描述】:
我在主窗口上使用 NSOutlineView 启动了一个基于文档的小应用程序。 我在模型类中使用 NSCoding 协议将模型保存在文件中,一切都很好。
接下来我想保存用户界面(窗口大小和位置、大纲视图中的展开项目、选择等),我发现 Lion 中添加了 Resume 功能。
所以我尝试实现它,我在主窗口和大纲视图中添加了一个自动保存名称,设置了 autosaveExpandedItems 属性并在大纲视图的数据源中实现了 outlineView:itemForPersistentObject: 和 outlineView:persistentObjectForItem: 方法。
这可行,但是当我创建/打开另一个文件然后关闭它时,其他文件的展开项状态设置为关闭文件的状态。
这就像应用程序只为所有文档保存一个窗口,而不是每个文档保存一个窗口。
我对自动保存和恢复有点迷茫,是相同的功能还是完全不同的两个功能?
我可以用它来保存窗口状态还是需要将它保存在我的模型中?
谢谢
【问题讨论】:
标签: macos cocoa save nsdocument