私はいくつかの動的項目を含むNSMenuを持っています。これらのアイテムは、NSMenuDelegateのmenuNeedsUpdateメソッドで作成され、それぞれにはassignedObjectが割り当てられます。私は、オブジェクトグラフをトリミングし、うまくいけば、メニューが閉じられたときにすべての動的項目を削除して(そしてメニューが再オープンされたときに再作成されるように)少しのメモリを取り戻そうとしています。私が抱えている問題は、どこでどのようにこれを処理すべきかを正確に知ることです。NSMenuから動的NSMenuItemを削除する場合
NSMenuのmenuDidCloseは、メニューの内容を更新するのに適していないと書かれています。 NSMenuDidEndTrackingNotificationをリッスンする通知をセットアップして、その時点でNSMenuのremoveItem:メソッドへの呼び出しで動的項目を削除しています。これはこの状況を処理する正しい方法ですか?
最後に、NSMenuItemのremoveItemを呼び出すと、それに割り当てられるカスタムビューやサブメニューが完全に無効になることはありますか?