希望将标签引入基于文档的应用程序,想法?

d11*_*wtq 5 macos cocoa tabs objective-c nsdocument

我有一个基于文档的应用程序,到目前为止只是为每个文档编辑一个新窗口的文档.

我现在正在添加创建项目的能力,这本身就是一个文档.该项目将包含一个文件列表,可以使用(希望)与我现有的NSDocument子类相同的代码进行编辑,但文档编辑器将嵌入到项目窗口中,而不是在新窗口中打开.

例如,Xcode如何在编辑器窗格中打开每个文件,而不使用每个文档的新窗口?我假设它使用基于文档的体系结构,因为它的行为与任何其他基于文档的应用程序非常相似,但单窗口事物除外.

因为NSDocument 必须(根据文档)拥有它自己的窗口控制器,是否可以将该窗口"嵌入"另一个窗口(即在我的项目窗口内),使得chrome不可见以产生单个窗口的效果?

编辑:这个关于CocoaDev的讨论看起来非常有用:基于文档的应用程序,所有文档都有一个窗口

lem*_*ojo 2

显然这是一个长期存在的问题,但因为我最近(并且仍然)处于同样的情况并且找不到任何有用的解决方案来解决这个问题,我自己启动了一个测试平台项目并将其托管在 Github 上:https://github。 com/lemonmojo/NSDocumentSingleWindowTest

它仍在进行中,但最重要的部分已经存在,等待改进。您应该能够轻松地提取项目所需的代码。