1

NSDocumentをロードする前にいくつかのウィンドウを作成するか、NSDocumentウィンドウとトップメニューをブロックするウィンドウを作成する必要があります。

私はいくつかの解決策を試しましたが、それらは正しく機能しませんでした。

  1. モーダルウィンドウ、次々に。非同期URLConnectionにいくつかの問題があり、NSDocumentコンテンツに他のいくつかの問題がありました。

  2. メニューのないカスタムMainMenu.xibを作成しました。これにより、事前初期化ウィンドウが開きます。ここで、ファイル(アプリケーションに関連付けられている)を開くと、他の問題がいくつか見つかりました-ドキュメントウィンドウが初期化されます。ここでNSDocumentControllerをサブクラス化しようとしましたが、「開いているドキュメント」を一時停止する方法が見つかりませんでした。(とにかくドキュメントを開きたいのですが、初期化前のウィンドウが閉じられた後でのみです)。

では、これを行う正しい方法は何ですか?

4

2 に答える 2

0

ユーザーが最初に未登録のダイアログを通過する必要がある場合applicationShouldOpenUntitledFile:に戻るように、アプリデリゲートに実装します。NO

[試用版]ボタンと[登録の確認]ボタンのアクションメソッドで、無題のドキュメントを自分で作成します(必要なメッセージをドキュメントコントローラーに送信します)。

于 2010-04-01T03:51:28.783 に答える
0

したがって、正しい答えは次のように実装することです。
* application:openFiles:
* applicationShouldOpenUntitledFile:

そして独自のドキュメント作成を実装します。これは私のために働いた方法です。

MyDocument * document = [[MyDocument alloc]
                             initWithContentsOfURL:fileURL
                                            ofType:[fileName pathExtension]
                                             エラー:nil
                       ];
  if(ドキュメント)
  {{
     [[NSDocumentController sharedDocumentController] addDocument:document];
     [ドキュメントmakeWindowControllers];
     [ドキュメントshowWindows];
 }

もちろん、エラー処理コードを書く必要があります。

于 2010-04-01T23:19:01.937 に答える