NSMenu階層が表示されるたびに動的に変更できるようにする必要があります(アイテムの追加/削除など)。例えば:
- ユーザーはメインメニューで追跡セッションを開始し、サブメニューを選択します
- サブメニューを検出して、コードを開いて実行し、変更しようとしています
- 追跡を続け、ユーザーは同じサブメニューを再度追跡します:goto 2
したがって、これを行うために、NSMenuDelegateプロトコルを実装するオブジェクトがあります。メソッドmenuNeedsUpdateは、最初は機能しますが(2)、サブメニューを開いた2回目は機能しません。(追跡セッションごとに1回だけ呼び出されます)
メソッドmenuWillOpenは毎回呼び出されますが、ドキュメントにはこのアプローチを使用すると失格と思われる次の警告があります。
この方法では、メニューまたはメニュー項目の構造を変更しないでください。
これを達成する方法はありますか?