Связывание аргумента NSButton в NSTableView на основе представления - PullRequest
2 голосов
/ 04 января 2012

Представление на основе NSTableView с одним столбцом.Каждая «ячейка» содержит несколько полей NSTextFields, NSImageView и NSButton, все из которых связаны с различными атрибутами objectValue представления ячейки таблицы.Содержимое NSTableView привязано кorgObjects объекта NSArrayController, который находится в режиме Entity, и связано с соответствующим NSManagedObjectContext.

NSTextFields и NSImageView ведут себя, как и ожидалось.Однако по какой-то причине NSButton этого не делает.Это всегда отключено.Я связал его аргумент со свойством objectValue, а его цель - с владельцем файла.Эксперимент показывает, что причиной является проблема с привязкой аргумента, а не с привязкой цели.Создается впечатление, что значение аргумента должно быть равно нулю, поэтому кнопка будет отключена.И все же это действительно не может быть, потому что другие привязки (NSTextFields и т. Д.) Работают нормально.

Я много раз использовал привязки аргументов кнопок / целей в табличных представлениях на основе ячеек без проблем.Поэтому я подумал, что, возможно, существует некоторая характеристика табличных представлений на основе представлений, которая означает, что такие привязки не работают.Но образец Apple TableViewPlayground использует этот подход (на панели HUD) без проблем.Мои привязки настроены точно так же.Единственное отличие, которое я вижу, состоит в том, что в примере Apple используется контроллер массива в режиме класса, а в моем - режим объекта.Но я не могу поверить, что это проблема (или, по крайней мере, я очень надеюсь, что это не так, как это было бы серьезной слабостью).

1 Ответ

7 голосов
/ 24 июня 2012

Я потратил несколько часов на эту же проблему.В моем случае делегат NSTableView также не был установлен на владельца файла.После настройки все стало работать нормально.

...