我大约 90% 的把握我的程序会从使用 Cocoa 中的文档框架中受益,但有一件事我不确定。
在我看到的所有示例中, NSDocument 子类始终表示正在保存的文件,这并不完全适合我的应用程序。
将在我的应用程序中保存到磁盘的文件将是将在程序中编辑的实体的集合。创建新文件时,用户将能够编辑该集合中包含的各个实体,这将需要状态和更改跟踪(保存、撤消等)。
基于文档的应用程序会以这种方式工作,还是我会不断地与框架作斗争?
更新以使我的问题更清楚:
我计划将文件保存为一个包,因为它肯定会使管理文件中包含的单独实体变得更容易,但并没有真正解决我的问题。
想想像 Microsoft Access 这样的程序;文件是数据库,但文档是表单、报告、查询和宏之类的东西。每个项目都在单独的文档窗口中进行编辑,并且可以保存或撤消对单个文档的更改,但保存的是整个数据库(包括所有表单、报告和查询)。