Установка значения поля комбинированного списка
Когда Вы устанавливаете или получаете значение поля комбинированного списка со стандартными методами 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"]; |