nspopupbuttonのデフォルトの選択を設定しますか?
-
24-10-2019 - |
質問
nspopupbuttonでデフォルトの選択を設定することは可能ですか?ユーザーがセットアップするサーバーのタイプを選択できるようにするものがありますが、nspopupbuttonには常に最初のアイテムが表示されるため、それが必要なタイプである場合は無視する場合があります。ただし、そのアイテムが表示されている場合でも、Calling -SelectedItem Returns(null)。ユーザーが最初にメニューからアイテムを選択した場合、すべてが正常に機能します。
ボタンのコンテンツとコンテンツバージョンは、同じ配列コントローラーにバインドされており、nsdictionaryのキープロパティにバインドされています。 SelectedIndexをコントローラーの変数にバインドし、コードでそれを更新しようとしましたが、効果はありません。 (私はそれを間違って拘束するかもしれません...)デフォルトで最初のアイテムを選択するにはどうすればよいですか?
前もって感謝します!
Spherecat1
解決
Bindingsを使用する場合、モデル情報(モデル自体も選択状態も)を直接取得する必要はありません。モデルと選択したインデックスを所有するコントローラーに相談してください。
「インデックス」にはnsdictionaryの意味がないことに注意してください。 keys
nsdictionaryの財産ではありません。 (確かに、あなたの辞書にはキー「キー」のオブジェクトがないため、例外を取得しても驚かないでしょう。)それはメソッドであり、アクセサの種類ではありません。 できる キー値コーディングを使用して、そのメソッドの値について辞書に尋ねてください。そうすべきではありません。
あなたがすべきことは作ることです モデルオブジェクト サーバーのタイプを表し、それらの配列を保持し、アレイコントローラーのコンテンツをその値がその配列であるプロパティに結合します。ポップアップボタンをバインドします contentValues
モデルオブジェクトの名前のプロパティに、各サーバータイプのローカライズされた名前を保持する必要があります。