Каковы правильные привязки для NSComboBox для использования с Core Data - PullRequest
2 голосов
/ 09 июня 2010

Представьте, будете ли вы использовать приложение Core Data с двумя объектами (сотрудник и отдел).Сотрудники имеют отношения один-к-одному с отделом (отделом), а обратное отношение-ко-многим (сотрудники).В пользовательском интерфейсе вы можете выбрать отдельные объекты Employee и редактировать детали в области сведений (есть, конечно, другие атрибуты и есть интерфейс для добавления и редактирования объектов Department).При использовании всплывающей кнопки привязки:

content = PopUpArrayController.arrangedObjects
значения содержимого = PopUpArrayController.arrangedObjects.name (имя - NSString)
выбранный объект = EmployeeArrayController.selection.department.name

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

content = PopUpArrayController.arrangedObjects.name
value = EmployeeArrayController.selection.department.name

По крайней мере, однажды это работало как ожидалось (это даже добавило новыйотдел, когда введенный текст не соответствует ни одному из существующих отделов).Однако теперь он будет отображать доступные отделы и автозаполнение, но не будет обновлять модель с правильным значением при изменении значения в поле со списком.Если отдел устанавливается или изменяется с помощью всплывающего окна, в поле со списком отображается правильный отдел.

Кто-нибудь знает, что мне не хватает?Спасибо.

1 Ответ

3 голосов
/ 10 августа 2010

Итак, я нашел хотя бы один ответ на этот вопрос.Короче говоря, нет способа использовать привязки для достижения этого эффекта.Наконец-то я нашел в сети http://frankschmitt.org/2007/06/comboboxen, который дал мне достаточно деталей для решения проблемы (хотя форматирование кода в посте имеет некоторые проблемы, но документы для NSValueTransformer заполнили дыры).

...