Привязки MInefield в Xcode и Interface Builder

Хорошо, после изучения учебника 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

Любое представление о том, что здесь происходит?


person Kaji    schedule 28.11.2009    source источник


Ответы (1)


Хорошо, понял. Изменил имя атрибута с description, и он начал себя вести; Кажется, что это имя вызвало что-то, когда оно скомпилировалось, что было пропущено при начальной проверке ошибок.

person Kaji    schedule 28.11.2009
comment
description - это метод, определенный в NSObject. Попытка переопределить его, чтобы он действовал как свойство, вероятно, является причиной вашей проблемы. - person Kristopher Johnson; 07.08.2010