1

NSPopupButtonにデフォルトの選択を設定することは可能ですか?ユーザーがセットアップするサーバーのタイプを選択できるものがありますが、NSPopupButtonは常に最初のアイテムを表示するため、それが必要なタイプである場合は無視する可能性があります。ただし、そのアイテムが表示されていても、-selectedItemを呼び出すと(null)が返されます。ユーザーが最初にメニューから項目を選択すると、すべてが正常に機能します。

ButtonのcontentとcontentValuesは同じ配列コントローラーにバインドされ、配列コントローラーはNSDictionaryのkeysプロパティにバインドされます。selectedIndexをコントローラーの変数にバインドし、コードで更新しようとしましたが、効果がありません。(バインドが間違っている可能性があります...)デフォルトで最初のアイテムを選択するにはどうすればよいですか?

前もって感謝します!
SphereCat1

4

1 に答える 1

1

バインディングを使用する場合、ビューからモデル情報(モデル自体も選択状態も)を直接取得する必要はなく、取得する必要もありません。モデルと選択したインデックスを所有するコントローラーに相談してください。

「インデックス」はNSDictionaryにとって意味keysがなく、NSDictionaryのプロパティではないことに注意してください。(実際、辞書にキー「キー」のオブジェクトが含まれていないため、例外が発生しても驚かないでしょう。)これはメソッドであり、アクセサーの種類ではないため、 Key-Valueコーディングを使用したそのメソッドの値の辞書、すべきではありません。

サーバータイプを表すモデルオブジェクトを作成し、それらの配列を保持し、その配列を値とするプロパティに配列コントローラーのコンテンツをバインドする必要があります。ポップアップボタンcontentValuesをモデルオブジェクトのnameプロパティにバインドします。このプロパティには、各サーバータイプのローカライズされた名前が含まれている必要があります。

于 2010-06-04T12:27:14.310 に答える