2016-06-18 11 views
0

У меня есть проект, который в настоящее время использует привязки NSTableViews WITH на основе ячеек. Я обновляю проект вместо использования представлений. С помощью я могу создать экземпляр NSFormatter в коде, добавить его в свойство форматирования NSTableColumn datacell, сохранить ссылку на этот форматтер и программно изменить свойства форматирования. Я не вижу стратегии делать то же самое с табличными представлениями, основанными на представлении.Поддержание ссылки на NSFormatter в NSTableViews на основе представления

С представлением таблицы на основе представлений я могу установить форматирующий элемент в текстовом поле вида прототипов, но этот форматтер также является прототипом. Этот форматтер будет создан несколько раз, поэтому я не могу поддерживать ссылку на прототип форматирования. В качестве другого решения я создал собственный объект форматирования с моим классом форматировщика, перетащил выход моего tablecellview в форматтер, но это совсем не работает.

Мне нужно иметь возможность программно настраивать, как работает мой форматировщик в представлении на основе представления.

+0

Возможно, пользовательский подкласс 'NSValueTransformer' является опцией. – vadian

+2

Или, может быть, установите форматтер в методе 'tableView: viewForTableColumn: row:' делегата. – Willeke

+0

Это билет. Я предположил, что вызовы и привязки делегатов являются взаимоисключающими. С вызовом делегата я просто устанавливаю форматировщик текстовых полей и не указываю строковое значение в текстовом поле. После вызова делегата привязки табличного представления заполняют строковое значение текстового поля. Сделайте официальный ответ, и я соглашусь с ним. – blackirishman

ответ

1

Вы можете установить форматтер в методе делегата tableView:viewForTableColumn:row:.