Установка выбора по умолчанию для кнопки NSPopupButton? - PullRequest
1 голос
/ 04 июня 2010

Можно ли установить выбор по умолчанию для кнопки NSPopupButton? У меня есть тот, который позволяет пользователю выбрать тип сервера, который он хочет настроить, но, поскольку NSPopupButton всегда показывает первый элемент, они могут игнорировать его, если это тот тип, который он хочет. Однако, хотя этот элемент отображается, вызов -selectedItem возвращает (null). Все работает нормально, если пользователь сначала выбирает элемент из меню.

Содержимое Button и contentValues ​​связаны с одним и тем же контроллером массива, который, в свою очередь, связан со свойством keys NSDictionary. Я пытался связать selectedIndex с переменной в контроллере и обновить его в коде, но это не имеет никакого эффекта. (Я могу просто неправильно связать ...) Как я могу выбрать первый элемент по умолчанию?

Заранее спасибо!
SphereCat1

1 Ответ

1 голос
/ 04 июня 2010

При использовании привязок вам не нужно и не следует получать информацию о модели - ни о самой модели, ни о состоянии выбора - непосредственно из представлений. Поговорите с контроллером, которому принадлежит модель и выбранные индексы.

Обратите внимание, что «индекс» не имеет никакого значения для NSDictionary, а keys не является свойством NSDictionary. (Действительно, я не удивлюсь, если вы получите исключение, потому что в вашем словаре нет объекта для ключа «ключи».) Это метод, а не тип средства доступа, так что пока вы Вы можете запросить в словаре значение этого метода, используя Key-Value Coding, вы не должны.

Что вам нужно сделать, это сделать объекты модели , представляющие типы серверов, и сохранить их массив, а также связать содержимое контроллера массива со свойством, значением которого является этот массив. Привязать всплывающую кнопку contentValues к свойству name объектов вашей модели, которое должно содержать локализованное имя каждого типа сервера.

...