Привязки какао + NSArray + пользовательский класс - PullRequest
1 голос
/ 06 февраля 2011

Я не могу разобраться с этим: у меня есть экземпляр NSMutableArray, заполненный пользовательскими Lesson объектами.Эти объекты имеют два properties: name и selected.Я пытаюсь использовать эти Lesson объекты в NSTableView.Один столбец должен показывать name в виде строки, а другой selected как флажок.Я использовал

- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex

метод, чтобы вернуть имя, которое работало нормально, однако возвращение значения selected не работает должным образом - возможно, потому что метод вызывается слишком часто.

ТАК, это можно легко решить с помощью метода источника данных или мне следует использовать Interface Builder и установить некоторые привязки?Последнее звучит лучше, но я не знаю, как мне перенести мою настройку - NSArray с пользовательскими объектами - в IB.

Я был бы признателен за некоторые идеи, Фабиан

1 Ответ

1 голос
/ 09 февраля 2011

Похоже, что bindins будет работать довольно хорошо в вашем случае.Вам следует использовать привязку NSArrayController к вашему массиву объектов урока, давайте назовем его «уроков по массиву».Выберите контроллер NSArray и установите его «Путь к ключу модели» на « coursesArray ».Вы должны создать сеттер и геттер для «examplesArray», иначе он не будет работать.

После того, как вы установили привязки к NSArrayController, вы должны привязать к нему свой NSTableView.В действительности то, что вам действительно нужно связать сейчас, это NSTableColumns, и я полагаю, у вас есть два: name и selected.Свяжите их с NSArrayController с этой конфигурацией: Ключ контроллера: ограмма объектов Путь к ключу модели: имя или выбранный .

Надеюсь,Я понял и помог тебе.Удачи

...