Установка значения поля комбинированного списка

Когда Вы устанавливаете или получаете значение поля комбинированного списка со стандартными методами NSControl (такой как setStringValue:, stringValue, setFloatValue:, и floatValue), Вы устанавливаете или получаете значение текстового поля поля комбинированного списка, а не текущий выбор списка. Программно изменение значения поля комбинированного списка не изменяет то, что выбрано в списке поля комбинированного списка. С другой стороны программно изменение, что выбрано в списке, не изменяет значение текстового поля. Если Вы хотите, чтобы значение текстового поля и выбор списка совпали, необходимо установить их индивидуально.

Например, скажите, что Вы хотите инициализировать список поля комбинированного списка и текстовое поле к третьему элементу списка. Этот код делает это для поля комбинированного списка, ведущего внутренний список элемента:

[myComboBox selectItemAtIndex:2]; // First item is at index 0
[myComboBox setObjectValue:[myComboBox objectValueOfSelectedItem]];

Этот код делает это для поля комбинированного списка с внешним источником данных:

[myComboBox selectItemAtIndex:2];
[myComboBox setObjectValue:
    [myComboBoxDataSource comboBox:myComboBox
        objectValueForItemAtIndex:[myComboBox indexOfSelectedItem]]];

И этот код инициализирует текстовое поле поля комбинированного списка к «Красному» и выбирает его из списка при наличии. Обратите внимание на то, что это работает на поля комбинированного списка или с внутренними или с внешними источниками данных:

[myComboBox setStringValue:@"Red"];
[myComboBox selectItemWithObjectValue:@"Red"];