2016-11-06 2 views
0

Мне удалось добавить строки/данные в таблицу из secondViewController в firstViewController, но теперь я хочу, чтобы пользователи также могли удалять строки. Как я могу удалить строку?Как удалить строку в NSTableView (Swift)

Обновление: вот еще несколько деталей: Это код, который я использую для создания таблицы в 1stVC.

func numberOfRows(in tableView: NSTableView) -> Int { 
    return arrayData.count 
} 

func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? { 
    return arrayData[row] 
} 

Я также установил массив, который получает данные из 2ndVC через делегат. Значения из 2ndVC хранятся в переменной, которая называется «данные» в 1stVC, а затем добавили в массив следующим образом:

arrayData.append(data!) 

Теперь я хочу поставить кнопку удаления, которые могут удалить строки/вставленные данные.

Спасибо!

+0

этот вопрос нуждается в более подробно: 1) удалять строки из первого или второго контроллера представления? 2) можете ли вы показать код, как строки были добавлены в первый контроллер представления и отправлены во второй контроллер представления (например, это было сделано через segue или что-то еще?) –

+0

Эй! Поэтому я просто обновил сообщение. –

ответ

3

Обычный способ заключается в удалении object из массива источника данных, а затем вызвать removeRowsAtIndexPaths:withAnimation: на виде таблицы

if let index = arrayData.index(of: object) { 
    arrayData.remove(at: index) 
    let indexSet = IndexSet(integer:index) 
    tableView.removeRows(at:indexSet, withAnimation:.effectFade) 
} 
Смежные вопросы