2013-08-26 2 views
2

В настоящее время я пытаюсь использовать привязки Cocoa для заполнения NSTableView с использованием привязок Cocoa. Я столкнулся с серьезной проблемой с некоторыми столбцами, где я использую собственный подкласс NSCell.Пользовательский NSCell в NStableColumn и Cocoa Bindings?

В моем файле XIB содержится NStableView и NSArrayController.

В интерфейсе Builder, когда вы устанавливаете NSTextFieldCell или NSImageCell как datacell столбца, вы можете привязать свойство value к ячейке к ArrayController. Когда вы устанавливаете NSCell в качестве datacell для NSTableColumn, в Interface Builder нет привязки «Value». Таким образом, вы можете вывести, что привязки должны выполняться программно.

При попытке связать программным образом свойство value с параметром «builtObjects.property» NSArrayController возникает ошибка: «этот класс не является ключевым значением, совместимым с кодировкой для значения ключа». И, фактически, нет свойства «значение», которое вызывается при вызове метода exposeBindings: нет свойства «value».

Как вы элегантно привязываете NSArrayController к NSTableColumn, который имеет собственный подкласс NSCell?

ответ

0

Для решения этой проблемы создайте подкласс NSTableColumn и переопределите метод dataCellForRow:. Наконец, в вашем XIB измените тип столбца на новый класс подкласса.

0

Проще всего сделать, чтобы сделать вашу пользовательскую ячейку подклассом NSTextFieldCell.

Смежные вопросы