Привязки MInefield в Xcode и Интерфейсном Разработчике
-
06-07-2019 - |
Вопрос
Хорошо, после прохождения программы Cocoa Dev Central "Построение приложения с основными данными" " Учебное пособие Я начал экспериментировать с созданием своего собственного приложения, используя код и файл .nib
из учебного пособия в качестве справочного материала, чтобы убедиться, что все составлено правильно. В целом, я справляюсь с этим довольно хорошо, однако, похоже, попал в ловушку.
Я строю форму с двумя полями NSTextView
, как в учебном пособии, однако они связаны с различными атрибутами в рамках одной и той же сущности. Все остальные элементы управления работают должным образом и сохраняют / обновляют свои значения при переходе между записями (за исключением некоторой глупости блока даты, когда второе поле не хочет сохранять свои значения). Я проверил все настройки привязок и NSArrayController
на соответствие .nib
из учебника, чтобы увидеть, где что-то может быть отключено; это привело к отключению первого текстового поля, а затем к его повторному подключению с теми же настройками, и оно внезапно волшебным образом заработало. Однако второй блок не хочет себя вести и продолжает ломать программу (появляется отладчик, в котором перечислены все виды переменных, адресов памяти и прочего, что, честно говоря, совершенно за пределами моего понимания).
В настоящее время окно-нарушитель настроено следующим образом:
Class: NSTextView
Value: Bound to `history`
Controller Key: selection
Model Key Path: `description`
Checked: Allows Editing Multiple Values Selection
Checked: Conditionally Sets Editable
Checked: Raises For Not Applicable Keys
Любое понимание того, что здесь происходит?
Решение
Хорошо, разобрался. Изменил имя атрибута с description
, и он начал вести себя; кажется, что имя вызывало что-то, когда оно компилировалось, что начальная проверка ошибок пропущена.