NSPopUpButtonCell
テーブル ビューがバインディングとNSArrayController
.
ポップアップ ボタン セルは作成されますが、ポップアップ ボタン セルのsetMenuItem:item
メソッドをオーバーライドしてアウトレットにアクセスしようとすると、 nil
.
これは予想される動作ですか..?
作成時にメニューを置き換えるために別の方法を使用する必要がありますか?
NSWindowController
基本的に、そのドキュメント ウィンドウのコントローラー ( ) にリンクするアウトレットが必要ですNSPopUpButtonCell
。これにより、カスタム ポップアップ ボタンが表示されたときにメニューをカスタマイズすることができます。
バインディングを使用したソリューションはさらに優れていますが、オーバーライドsetObjectValue:
すると、パラメーターで呼び出されることは決してないことがわかります。ただしnil
、ストックを使用するNSPopUpButtonCell
と、適切に入力されたポップアップ メニューが表示されます。
( setObjectValue:nil のみが呼び出されたときに NSPopUpButtonCell が正しく表示される理由も参照してください)。