Предоставление данных для поля комбинированного списка

Управление NSComboBox может быть установлено для заполнения раскрывающегося списка или из внутреннего списка элемента или из объекта, который Вы обеспечиваете, названный его источником данных. Укажите, чтобы использовать с setUsesDataSource:. По умолчанию поле комбинированного списка использует внутренний список.

Если Вы указываете, что поле комбинированного списка использует внешний источник данных, и затем попытайтесь вызвать метод, использующий внутренний список — такой как addItemWithObjectValue:— метод выдает исключение.

Работа с внешним источником данных

Внешний источник данных объявляет, что методы что использование поля комбинированного списка получают доступ к его данным. Используйте тот, если внутренний список не эффективен для Ваших данных. Внешний источник данных может сохранить свои элементы всегда, но он должен быть в состоянии идентифицировать их целочисленным индексом.

Чтобы указать, что поле комбинированного списка использует внешний источник данных, сначала используйте setUsesDataSource: с YES как параметр, затем используйте setDataSource: с Вашим источником данных возражают как параметр. Если Вы используете setDataSource: прежде setUsesDataSource:, setDataSource: выдает исключение.

Источник данных должен определить эти методы. Метод setDataSource: регистрирует предупреждение, если его параметр не реализует их.

Источник данных может дополнительно определить эти методы. Метод setDataSource не проверяет на них, и поле комбинированного списка вызывает их, только если они доступны.

И вот некоторые методы NSComboBox, в которых, возможно, нуждается Ваш источник данных, если он загружает данные в фоновом режиме:

Поле комбинированного списка обрабатывает объекты, предоставленные его источником данных как значения, которые будут выведены на экран в раскрывающемся списке поля комбинированного списка. Если эти объекты не будут иметь классов общей ценности — таких как строки, числа, и т.д. то — необходимо будет создать пользовательский NSFormatter для отображения их. Посмотрите Руководство по Форматированию данных для получения дополнительной информации.

Работа с внутренним списком

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

Если usesDataSource возвраты YES и Вы используете любой из вышеупомянутых методов, метод выдаст исключение. По умолчанию, usesDataSource возвраты NO.