2011-06-24 9 views
5

NSDocumentアーキテクチャを使用しているときに、プロジェクト/親子関係を処理するための最良の手法は何ですか?プロジェクトベースのNSDocumentワークフロー

私の目標は、NSDocumentにファイルシステム上のファイルセット(プロジェクトバンドルではなく、Xcodeプロジェクトディレクトリと同様の不透明なバンドル)を設定とともに管理させることです。ファイルシステム上のファイルは、独自のNSDocumentである必要がありますが、プロジェクトNSDocumentを参照できる必要があります。理想的には、このプロジェクトNSDocumentは、(ウィンドウ内に)定義された型の "子" NSDocumentを表示することができます。要するに、Xcodeの編集インターフェースが必要です。

これは間違っていますか?単一のNSDocument(プロジェクト設定の "ドキュメント"とファイルシステムの基礎となるプレーンファイル)のみを使うべきですか?

答えて

2

文書の関係を定義する組み込みの方法はありません。私はカスタムウィンドウコントローラを使って、そのほとんどの作業を行う1つのドキュメントクラスを持つことをお勧めします。プロジェクト内のどのファイルが選択されているかに応じて、プロジェクトを開いたときにどのウィンドウをアクティブにするかを決定するために、同じクラスを使用する複数のドキュメントタイプを持つことができます。あなたのNSDocumentクラスは、異なるウィンドウコントローラ間の通信を処理し、必要に応じて異なるウィンドウコントローラをロード/アンロードします。プロジェクト内のさまざまな種類のファイルは、ファイルロード/保存、元に戻す管理など、ドキュメントで通常処理される多くの仕事を処理する、独自のカスタムNSWindowControllerクラスを取得します。ウィンドウコントローラは、これらのイベントのほとんどを現在のウィンドウコントローラに転送することについて心配する必要はありません。基本的に、これはあなたが求めていたものですが、子ドキュメントの代わりにウィンドウコントローラを使用しています。

関連する問題