間違った方向に進んでいるのかもしれませんが、私のアプリケーションにはNSMenuItem
、メイン メニューにエントリを追加するロード可能なバンドルがあります。
すべてのバンドルをループして、追加するメニュー項目を決定し、それに応じて追加します。
問題は、そのようなコードをドキュメントベースのアプリケーションのどこに置くべきかということです。
最初はそれを NSDocument サブクラスのメソッドに入れましたが、これには、同じ項目を何度も-windowControllerDidLoadNib:
繰り返すという望ましくない副作用がありました。これは、開いたドキュメントの数です (つまり、コードを配置するための実行場所ではありません)。 .n
n
それで、コードをNSApplicationDelegate
's-applicationDidFinishLaunching:
メソッドに入れてみました。つまり、一度しか実行されませんが、実行前に (または少なくとも終了前に) ドキュメントが表示されて表示されるという問題に直面しています -applicationDidFinishLaunching:
。
起動時にメニュー項目をドキュメントベースのアプリケーションに動的に追加するコードを配置するのに一般的に適切な場所はどこですか?