3

編集: 以下の問題は、Finder からではなく、Xcode 内 (私は 4.4) から実行したときにのみ発生するようです (むしろ、発生しません... :)。これは Xcode のバグですか、それとも何か不足していますか?

ドキュメントが自動的に復元されなかった場合に備えて、アプリの起動時に新しい (無題の) NSDocument を作成したいと考えています。TextEdit と Safari の両方が私が望む動作を表示するので、これを組み込むべきだと思われますが、そのためのオプションが見つかりません。

問題を再現するための手順: Xcode で新しいドキュメントベースのアプリを作成して実行すると、最初の実行時に無題のドキュメントが作成されます。しかし、そのドキュメントを閉じてアプリを終了し、再度実行すると、Dock のアプリ アイコンを明示的にクリックしない限り、新しいドキュメントは表示されません。これは、終了して再起動すると新しい空のドキュメントが作成される TextEdit などとは異なります。(バンドル識別子を変更すると、予想どおり、別の新しい無題のドキュメントが表示されます。)

私の最初の考えでは、これは で発生するのではないかと思いましたがapplicationDidFinishLaunching:、以前に開いたドキュメントが復元される前に、そのメソッドが実行されることが判明しました。

4

1 に答える 1

4

この動作は、ドキュメント アーキテクチャの一部です。アプリケーション デリゲートは、プロトコルの次のメソッドを実装する必要があります。NSApplicationDelegate

- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender;
{
    return YES;
}

詳細については、こちらをご覧ください。

于 2012-12-07T06:32:49.587 に答える