Каковы правильные привязки для NSCombobox для использования с основными данными
-
25-09-2019 - |
Вопрос
Представьте, что если вы будете приложение основных данных с двумя организациями (сотрудниками и отделением). Сотрудники имеют отношение к одному с департаментом (департаментом) и обратным являются отношение к многим отношениям (сотрудникам). В интерфейсе UI вы можете выбрать отдельные объекты сотрудников и редактировать детали в области детализации (есть, конечно, другие атрибуты, и есть интерфейс для добавления и редактирования департаментов). При использовании всплывающей кнопки привязки:
контент = PopUpArrayController.arrangedObjects
Значения содержимого = PopUpArrayController.arrangedObjects.name
(имя недвижимости)
Выбранный объект = EmployeeArrayController.selection.department.name
Это позволяет просматривать все отделы в всплывающем меню, правильный выбор текущего отдела сотрудника и позволяет менять отделения, как и ожидалось. Цель состоит в том, чтобы изменить это для NSCombobox, чтобы пользователь мог вставлять вкладку в поле и введите имя отдела, не переходя на мышь. Я пробовал многочисленные различные привязки для достижения этого. У меня даже у меня было работать на один бег с этими привязками:
контент = PopUpArrayController.arrangedObjects.name
значение = EmployeeArrayController.selection.department.name
По крайней мере, как только это сработало, как ожидалось (даже добавлено новое отделение, когда введенный текст не совпадал ни одного существующего отдела). Однако теперь он будет отображать доступные отделы и автоматические, но не будут обновлять модель с правильным значением, когда значение изменяется в поле комбо. Если отдел устанавливается или изменяется с всплывающим окном, правильный отдел отображается в поле комбо.
Кто-нибудь знает, что мне не хватает? Спасибо.
Решение
Поэтому я понял, по крайней мере, один ответ на этот вопрос. Короткая версия состоит в том, что нельзя просто использовать привязки для достижения этого эффекта. Я наконец нашел http://frankschmitt.org/2007/06/comboboxen В сети, которая дала мне достаточно подробно, чтобы решить проблему (хотя форматирование кода в посте имеет некоторые проблемы, но документы для NSValuetransformer заполняются в отверстиях).