0

ドキュメントを開くには、次の方法があります。

- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError
{
NSString *stringData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

[editorView setString:stringData];

if ( outError != NULL ) {
    *outError = [NSError errorWithDomain:NSOSStatusErrorDomain code:unimpErr userInfo:NULL];
}

return YES;
}

ドキュメントとそのビューはYESが返されるまで読み込まれないようですが、まだ読み込まれていないため、テキスト ビューのコンテンツを設定できません。これに対する回避策を知っている人はいますか?

前もって感謝します

4

1 に答える 1

3

Cocoa は、モデル ビュー コントローラー (MVC) 設計パターンに従います。これについては、概念に関するドキュメントを参照してください。

ビューにモデル情報を保存しないでください。つまり、ドキュメント オブジェクトは、読み込まれたファイルの内容を (インスタンス変数に) 保持する必要があります。後で、いつ -windowControllerDidLoadNib が呼び出された場合(ドキュメント UI のコピーがドキュメント用に読み込まれたことを示します)、ビューをファイルの内容で更新できます。

NSDocument のアプローチは、UI ではなくドキュメントのインスタンスを作成したい場合 (スクリプト、インポート、Spotlight インポーターのクエリ、インスタント印刷など) が多数あるため、便利です。

于 2010-11-18T13:59:10.573 に答える