Как я могу связать NSTableView с 2D-данными на бэкэнде?

Я новичок в Mac, и у меня проблемы. Мне нужно привязать NSTableView к 2D-данным на задней панели, чтобы я мог динамически обновлять данные на передней панели. У меня есть данные 5 * 10 на задней панели, которые я хочу привязать к NSTableView. Я пробовал почти все подходы, читал каждую статью, реализовывал примеры из Интернета, но это не работает.

Я пробовал разные способы хранения своих 2D-данных и подключения их к NSArrayController, но безрезультатно. Я попытался представить строку с помощью NSMutableDictionary с 5 различными ключами, представляющими 5 столбцов и их значения соответственно, а затем инкапсулировал объект словаря в объект NSMutableArray. Также пытался связать NSTableColumn с NSArrayController.

Я был бы признателен, если бы кто-нибудь мог сказать мне, какую структуру данных я должен использовать, сколько должно быть NSArrayControllers или NSObjectController и какими должны быть правильные значения ключей контроллера и модели в пути в инспекторе для каждого вовлеченного элемента. Я был бы признателен, если бы кто-нибудь мог предоставить мне пример, тесно связанный с проблемой выше.

С уважением Умайр


person Omayr    schedule 28.10.2010    source источник


Ответы (1)


Вы не можете использовать Bindings для этого. Привязки в табличном представлении предназначены для отображения одномерного списка объектов, где столбцы являются свойствами каждого объекта.

В вашем случае каждое пересечение строк и столбцов является дискретным объектом. Поэтому вам необходимо реализовать источник данных, если не использовать или создать совершенно другое представление.

person Peter Hosey    schedule 28.10.2010
comment
спасибо за вашу помощь, я просто хочу спросить, что я пытался связать свой NSArraycontroller с NSMutableArray, массив содержит объекты типа iData (это пользовательский класс). Кроме того, класс содержит некоторые переменные NSMutableString, переменные задаются как ключи для KVC. Далее я привязываю свой NSTableColumn к NSArrayController и устанавливаю пути ключевой модели для каждого столбца соответственно. Но когда я пытаюсь заполнить массив, я не вижу никаких результатов в таблице в графическом интерфейсе. - person Omayr; 29.10.2010