Добавьте/удалите строки к NSTableView в Objective C

$ git log 88ee8^..88ee8 --name-only --pretty="format:"
7
задан 20 August 2009 в 14:53
поделиться

2 ответа

В Какао вы действительно не добавляете / не удаляете строки в NSTableView напрямую. В вашем контроллере вы можете использовать протокол NSTableDataSource, который имеет 2 важных метода, которые вам необходимо реализовать, чтобы заставить это работать:

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

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

Ваш Методы addItem и removeItem также должны будут хранить / удалять данные строк (в любом виде, который вы придумали).

9
ответ дан 6 December 2019 в 23:11
поделиться

Самый простой способ сделать это в Cocoa - это привязки. Создайте NSArrayController , связанный с экземпляром NSMutableArray , и привяжите NSArrayController к NSTableView .

CocoaDev дает хороший результат. обзор процедуры . Вы также можете прочитать документацию Apple и превосходную статью CocoaDev о привязках.

2
ответ дан 6 December 2019 в 23:11
поделиться