【问题标题】:In a document based application does a document have to represent a file?在基于文档的应用程序中,文档是否必须代表文件?
【发布时间】:2011-06-02 18:47:19
【问题描述】:

我大约 90% 确信我的程序会从使用 Cocoa 中的文档框架中受益,但有一件事我不确定。

在我看到的所有示例中,NSDocument 子类始终表示正在保存的文件,这并不完全适合我的应用程序。

将在我的应用程序中保存到磁盘的文件将是将在程序中编辑的实体的集合。创建新文件后,用户将能够编辑该集合中包含的各个实体,这将需要状态和更改跟踪(保存、撤消等)。

基于文档的应用程序会以这种方式工作,还是我会一直与框架抗争?

更新以使我的问题更清楚:

我计划将文件保存为一个包,因为它肯定会更容易管理包含在 文件 中的单独实体,但并不能真正解决我的问题。

想想像 Microsoft Access 这样的程序; file 是数据库,而 documents 是诸如表单、报告、查询和宏之类的东西。每个项目都在单独的文档窗口中进行编辑,并且可以保存或撤消对单个文档的更改,但保存的是整个数据库(包括所有表单、报告和查询)。 p>

【问题讨论】:

    标签: cocoa nsdocument


    【解决方案1】:

    我不确定这是否适用于您的应用程序,但您可以将您的 NSDocument 与一个包相关联,这样您的文档就不仅仅是一个文件,而是您需要处理的文件的集合。

    几年前我在做这个工作时,让它工作起来并不是那么简单,但最终还是可以做到的。我希望现在事情变得更容易了,但无论如何,如果它适合您的要求,我会尝试一下。

    S.O. topic 将提示您在默认NSDocument 中必须更改的内容。

    【讨论】:

    • 是的,将您的 NSDocument 保存为一个包(即包含一堆文件的文件夹)可以正常工作。我已经这样做了好几次了。
    猜你喜欢
    • 1970-01-01
    • 2011-05-07
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多