gpt4 book ai didi

objective-c - 基于项目的 NSDocument 工作流

转载 作者:太空狗 更新时间:2023-10-30 03:54:22 24 4
gpt4 key购买 nike

人们发现在使用 NSDocument 架构时处理项目/父子关系的最佳技术是什么?

我的目标是让 NSDocument 管理文件系统上的一组文件(一个非不透明的包,类似于 Xcode 项目目录,而不是项目包)以及设置。文件系统上的文件应该是自己的NSDocument,但是能够引用项目的NSDocument。理想情况下,该项目 NSDocument 能够显示(在窗口中)已定义类型的“子”NSDocuments。总之就是想要Xcode的编辑界面。

我是不是处理错了?我应该只使用一个 NSDocument(项目设置的“文档”和文件系统上的底层普通文件)吗?

最佳答案

没有内置的方法来定义文档关系。我建议使用一个文档类,它使用自定义窗口 Controller 来完成大部分工作。您可以拥有多个文档类型,它们都使用相同的类来根据选择了项目中的哪个文件来确定打开项目时应激活哪个窗口。您的 NSDocument 类将处理不同窗口 Controller 之间的通信,以及根据需要加载/卸载不同的窗口 Controller 。项目中的每种不同类型的文件都将获得自己的自定义 NSWindowController 类,该类将处理许多通常由文档处理的职责,例如文件加载/保存、撤消管理等。由于窗口 Controller 在文档之前出现响应者链,您不必担心将大多数这些事件转发到当前窗口 Controller 。本质上,这就是您所要求的,但您使用的是窗口 Controller 而不是子文档。

关于objective-c - 基于项目的 NSDocument 工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6462821/

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