получить значение выбранной строки NSTableView - PullRequest
2 голосов
/ 19 февраля 2010

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

Ответы [ 6 ]

17 голосов
/ 19 февраля 2010

Используя selectedRow, см. Здесь :

@property(readonly) NSInteger selectedRow;

Индекс последней выбранной строки (или последней строки, добавленной к выбор).

Вы также можете быть заинтересованы в:

–selectedRowEnumerator (устарел)

-numberOfSelectedRows

–selectedRowIndexes "возвращает набор индексов, содержащий индексы выбранных строк"

15 голосов
/ 19 февраля 2010

Какао следует шаблону проектирования Model-View-Controller, так что ваши рассуждения, а также ваши собственные проекты должны также.

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

10 голосов
/ 10 мая 2013

Предполагая, что у вас уже есть свойство с именем tableView и в xib вы определили tableView со строкой cellName

NSInteger row = [tableView selectedRow];
NSTableColumn *column = [tableView tableColumnWithIdentifier:@"cellName"];
NSCell *cell = [column dataCellForRow:row];
NSLog(@"cell value:%@", [cell stringValue]);
3 голосов
/ 25 августа 2012

Чтобы получить выбранную строку из таблицы, попробуйте это ..

[tableView selectedRow];

Для доступа к значению tableView

[array objectAtIndex:[tableView selectedRow]];
0 голосов
/ 11 марта 2016

В Swift2.0 это может вам помочь:

  func tableViewSelectionDidChange(notification: NSNotification) {
            let selectedTableView = notification.object as! NSTableView
            print(selectedTableView.selectedRow)
  }
0 голосов
/ 17 июня 2015

Поскольку у нас есть все значения в нашей модели, мы можем получить только индекс строки и получить значение с помощью индекса. например:

NSInteger row = [self.nsTableView selectedRow]; //here @property (weak) IBOutlet NSTableView *nsTableView;
NSString *cellValue = ObjectValue[row];// NSMutableArray *ObjectValue;
NSLog(@"%@", cellValue);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...