gpt4 book ai didi

macos - 在没有任何窗口的情况下保持 NSDocument 打开

转载 作者:行者123 更新时间:2023-12-03 16:18:35 25 4
gpt4 key购买 nike

我有一个基于文档的应用程序,它有两种文档类型。第一个 NSDocument 子类是“主”文档 (mainDoc),它的 .xib 文件是应用程序的主编辑窗口。第二个 NSDocument 类是数据源文件 (dataDoc),其中一组保存在用户的 Application Support 文件夹中,并且该组(或子集)打开以供 mainDoc 窗口使用。 dataDoc 文件可以进行编辑,这是在它们自己的窗口中从它们自己的 .xib 文件中完成的。

使用 openDocumentWithContentsOfURL:display:completionHandler: 打开 dataDocs 而不创建其窗口是直接的,但是,在编辑后保持它们打开(即它们唯一的 NSWindowController 被关闭) ) 不是。我创建了一个 NSWindowController 子类,认为这会有所帮助。然而,覆盖 shouldCloseDocument 并没有帮助,因为如果最后一个 NSWindowController 关闭(如 Apple 文档中指定),则无论我的意愿如何,文档都会关闭。

如何关闭文档的窗口但保持文档打开?我错过了一些明显的事情吗?

我想到的一种可能性是将 mainDoc 的窗口 Controller 添加到所有打开的 dataDoc 的窗口 Controller 中。这是最好的解决方案吗?它看起来不优雅,需要一些填充。

另一种可能性是每次关闭 dataDoc 后重新打开它,但这更不优雅,我认为这是最后的手段。

感谢您的帮助!

最佳答案

浏览 NSDocument 文档,对我来说最简单的解决方案似乎是向每个 NSDocument 添加一个空的 NSWindowController。例如,我会尝试使用一个没有 NIB 的 NSWindowController,当它被要求将其窗口置于前面时,它只是返回“确定”并且没有执行任何操作。

关于macos - 在没有任何窗口的情况下保持 NSDocument 打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19908219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com