2013-04-15 3 views
1

Мне нужно получить строку из данных из выбранной строки в таблице, чтобы сравнить ее с строкой.Objective-C: Как получить данные из выбранной строки в таблице?

Я называю

NSArray *values = [self.tableArrayController selectedObjects]; 

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

Я надеялся, что массив будет иметь определенное количество, и я мог бы получить строку на основе индекса объекта для строки.

Как я могу получить все разные значения (организованные столбцами) для выбранной строки?

EDIT:

Я заселить NSDictionary (withmore значения, чем это, это просто пример). Строковое значение - это идентификатор столбца. Объект - это объект, который я добавляю, что хочу появиться в таблице. Эта часть ниже уже работает, как я хочу, чтобы:

NSDictionary *dict =[NSDictionary dictionaryWithObjectsAndKeys: 
         object1, @"column",      
         object2, @"column2", 
         nil]; 
[self.tableArrayController addObject:dict]; 
+0

какие объекты ваш контроллер массива обслуживает, и в каком формате эти объекты (например, объекты NSDictionary или?)? –

+0

Покажите нам, как вы заполняете NSArray данными. Чтобы быстро объяснить, если вы хотите обрабатывать несколько полей, вы можете использовать NSMutableArray с NSMutableDictionary для заполнения данных, на которые указывает элемент управления tableview, если вы не хотите помещать разделенные запятыми разные поля или что-то в каждый объект с помощью NSArray. –

+0

@MichaelDautermann, это строки, загружаемые в NSDictionary, как видно из редактирования. – user1234

ответ

2

Другой способ получить данные из таблицы, чтобы посмотреть на «NSTableView» методы «selectedRow» & «selectedColumn».

С помощью этой информации вы можете получить нужное значение непосредственно через контроллер массива, или вы можете использовать метод NSTableViewDataSource «tableView:objectValueForTableColumn:row:», чтобы передать вам значение NSString того, что вы пытаетесь получить ,

+0

Спасибо. Вероятно, это то, что я в конечном итоге сделаю. – user1234

Смежные вопросы