1

オブジェクト コントローラにバインドされた NSCombobox があります。オブジェクト コントローラは、RestKit のオブジェクト シリアル化フレームワークを介して作成される(カスタム)従業員クラスのインスタンスです。NSComboBox の値は、キー パスemployeeTypeにバインドされます。これは、リモートの MySql データベースに格納されている int 値です。int 値は従業員タイプに対応するため、

0 == "Full Time" 
1 == "Part Time"
2 == "Terminated"
....
11 == "Temp Worker"

現在 (予想どおり)、NSComboBox は int 値を表示します。selectItemAtIndex を呼び出す方法はありますか? IB でその int 値を使用して、バインディングを介して NSComboBox に int 値を入れるだけでなく、そのインデックスで項目を選択しますか?

私の考えでは、aa プロパティのゲッターをオーバーライドできるので、次のようになります。

if ([self employeeType] == 0) {
    [comboBox selectItemAtIndex:0];
}

しかし、これがバインディングの正しい使い方だとは思いません。

4

1 に答える 1

1

「選択された値」の代わりに、ポップアップ ボタンの「選択されたインデックス」をコントローラーにバインドします。わかりやすくするためのスクリーンショットを次に示します。

Interface Builder - バインディング

于 2012-08-23T06:34:50.840 に答える