2011-06-24 143 views
5

當使用NSDocument體系結構時,人們發現處理項目/父母 - 子女關係的最佳技術是什麼?基於項目的NSDocument工作流程

我的目標是讓NSDocument在設置中管理文件系統上的一組文件(類似於Xcode項目目錄的非透明包,而不是項目包)。文件系統上的文件應該是他們自己的NSDocument,但是能夠引用項目NSDocument。理想情況下,這個項目NSDocument能夠顯示(在窗口中)定義類型的「子」NSDocuments。總之,我想要Xcode的編輯界面。

我接近這個不正確嗎?我是否應該只使用一個NSDocument(項目設置的「文檔」和文件系統上的底層純文件)?

回答

2

定義文檔關係沒有內建的方法。我建議有一個文檔類使用自定義窗口控制器來完成它的大部分工作。您可以使用同一個類具有多個文檔類型,以確定在根據項目中的哪個文件被選擇打開項目時應激活哪個窗口。您的NSDocument類將處理不同窗口控制器之間的通信,以及根據需要加載/卸載不同的窗口控制器。項目中的每種不同類型的文件都會得到它自己的自定義NSWindowController類,它將處理許多通常由文檔處理的職責,例如文件加載/保存,撤消管理等。由於窗口控制器位於文檔之前響應者鏈,您不必擔心將大部分事件轉發給當前的窗口控制器。本質上,這是你所要求的,但你使用的是窗口控制器而不是子文檔。

相關問題