我大约90%肯定我的程序会从Cocoa中使用文档框架中受益,但有一件事我不确定。
在我看到的所有示例中,NSDocument子类始终表示正在保存的文件,这不完全适合我的应用程序。
将在我的应用程序中保存到磁盘的文件将是将在程序中编辑的实体的集合。创建新文件时,用户将能够编辑该集合中包含的各个实体,这些实体将需要状态和更改跟踪(保存,撤消等)。
基于文档的应用程序是以这种方式工作还是我会不断对抗框架?
更新以使我的问题更清晰:
我计划将文件另存为一个包,因为它肯定会更容易管理文件中包含的单独实体,但并没有真正解决我的问题。
想想像Microsoft Access这样的程序; 文件是数据库,但文档是表单,报表,查询和宏。每个项目都在一个单独的文档窗口中进行编辑,更改可以保存或撤消到单个文档,但它是保存的整个数据库(包括所有表单,报告和查询)。
答案 0 :(得分:2)
我不确定这适用于您的应用程序,但您可以将NSDocument
与程序包关联起来,这样您的文档就不仅仅是一个文件,而是您需要处理的文件集合
几年前,当我开展这项工作时,要实现这一目标并非易事,但最终还是可以做到。我希望现在事情变得容易了,但无论如何,如果它适合你的要求,我会尝试一下。
此S.O. topic会为您提供默认NSDocument
中必须更改的内容的提示。