0

私はCocoaアプリにNSDocumentクラスを正常に実装しました。これは、データを適切に保存することもできます。しかし、ファイルを開くことに関しては問題があります。

これが私の基本的な設定です。

NSDocument MyFile == xib File => MyFile.xib

処理クラスとしてのNSObjectFileClass

FileClassは、ファイルを圧縮/解凍するクラスであり、MyFile.xibのウィンドウのテキストフィールドに接続されます。保存は、デフォルトのNSNotificationCenterを介して行われます。データには生のNSStringが含まれていないため、このクラスでデータを処理する必要があります。

開く必要のあるドキュメントが3つあるとしましょう。NSDocumentインスタンスが3つあり、NSNotificationsCenterを介してデータを送信しています。3つのNSDocumentがあるため、3つのウィンドウと3つのFileClassインスタンスがあります。受信したデータがこのウィンドウに提案されているかどうかをフィルタリングする可能性がないため、正しいFileClassがデータを受信できれば幸運です。ランダムなFileClassがファイルを処理し、関連するテキストビューのテキストを設定します。したがって、ウィンドウ1は、ウィンドウ3に表示されると考えられていたデータを表示できます。

データフロー:

NSDocument => readFromData =>NSNotificationCenter=>ランダムFileClass=>関連付けられたTextView。

絞り込むには:データを正しいウィンドウにルーティングするにはどうすればよいですか?また、この構成にFileClassを含めるにはどうすればよいですか?

前もって感謝します!

ポール

4

1 に答える 1

1

ドキュメント データを強制的に通知センター経由で表示クラスに送信する必要がある場合は、重大な設計上の欠陥があることを示しています。なぜそれをしなければならないのですか?どのような問題を回避しようとしていますか?

于 2011-08-04T20:38:56.893 に答える