コンボ ボックスに関する Apple のドキュメントから (Introduction to Combo Boxes):
標準の NSControl メソッド (setStringValue:、stringValue、setFloatValue:、floatValue など) を使用してコンボ ボックスの値を設定または取得する場合、現在の選択ではなく、コンボ ボックスのテキスト フィールドの値を設定または取得します。リスト。コンボ ボックスの値をプログラムで変更しても、コンボ ボックスのリストで選択されているものは変更されません。逆に、リストで選択されているものをプログラムで変更しても、テキスト フィールドの値は変更されません。テキスト フィールドの値とリストの選択を一致させたい場合は、それらを個別に設定する必要があります。
たとえば、コンボ ボックスのリストとテキスト フィールドをリストの 3 番目の項目に初期化するとします。このコードは、内部項目リストを維持するコンボ ボックスに対してこれを行います。
[myComboBox selectItemAtIndex:2]; // First item is at index 0
[myComboBox setObjectValue:[myComboBox objectValueOfSelectedItem]];