Как мне получить данные из NSTableView? - PullRequest
3 голосов
/ 07 февраля 2010

У меня есть NSTableView с двумя столбцами и источником данных, который заполняет его данными.Эта часть работает.

Как мне получить данные (NSString формат) из NSTableView?Я могу получить выбранную строку, но NSTableView, похоже, не имеет методов для доступа к данным.

Получение данных из моего источника данных, похоже, возвращает бесполезные данные (введите id и NSLog() и NSRunAlertPanel()оба утверждают, что данные не относятся к типу NSString.

Какой самый простой способ получить данные из NSTableView?

Обновление:

Оказывается, причина того, что при получении данных из моего источника данных происходит сбой, связана с возвращением NSString как части NSArray в методе tableView().

Мой входной файл содержит строки, которыеЯ разделил столбцы в моем табличном представлении. NSTableView получает правильные данные, но когда я сам вызываю метод tableView(), я сталкиваюсь с ошибкой EXC_BAD_ACCESS , которая, как я полагаю, связана с управлением памятью.

Еще одно обновление:

Это не было управление памятью. Это была неспособность моего приложения идентифицировать желаемую NSTableColumn. Я написал второй метод для доступаданные вручную, который использует int для столбца, а неNSTableColumn и это сработало.

1 Ответ

9 голосов
/ 07 февраля 2010

Это нарушение парадигмы MVC, когда ваша таблица (вид) используется как место для хранения ваших данных (модель). Вы должны быть в состоянии получить значение из своего источника данных так же, как в табличном представлении; что делает ваш код для tableView:objectValueForTableColumn:row:, чтобы получить данные?

Если ваша таблица редактируемая, вы получите вызовы из табличного представления на tableView:setObjectValue:forTableColumn:row:, чтобы позволить вам соответствующим образом изменить источник данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...