在使用NSDocument架构时,人们发现的处理项目/父子关系的最佳技术是什么?
我的目标是让NSDocument管理文件系统上的一组文件(一个非不透明的包,类似于Xcode项目目录,而不是项目包)以及设置。文件系统上的文件应该是它们自己的NSDocument,但是能够引用项目NSDocument。理想情况下,此项目NSDocument能够显示(在窗口中)已定义类型的“子”NSDocuments。简而言之,我想要Xcode的编辑界面。
我是不是处理得不对?我应该只使用一个NSDocument (项目设置的“文档”和文件系统上的底层普通文件)吗?
发布于 2011-06-24 14:00:00
没有内置的方法来定义文档关系。我建议使用一个document类,它使用自定义窗口控制器来完成大部分工作。您可以让多个文档类型都使用同一个类,以根据项目中选定的文件来确定在打开项目时哪个窗口应处于活动状态。您的NSDocument类将处理不同窗口控制器之间的通信,以及根据需要加载/卸载不同的窗口控制器。项目中的每个不同类型的文件都有自己的自定义NSWindowController类,该类将处理通常由文档处理的许多职责,如文件加载/保存、撤消管理等。由于窗口控制器在响应器链中位于文档之前,因此您不必担心将这些事件中的大多数转发到当前窗口控制器。本质上,这就是您所要求的,但是您使用的是窗口控制器而不是子文档。
https://stackoverflow.com/questions/6462821
复制相似问题