2016-11-06 83 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

这个问题需要更详细地调用removeRowsAtIndexPaths:withAnimation::1)从第一或第二视图控制器删除行? 2)你可以显示代码如何将行添加到第一个视图控制器并发送到第二个视图控制器(例如,它是通过segue还是别的?) –

+0

嘿!所以我只是更新了这篇文章。 –

回答

3

的通常的方法是从数据源阵列移除object,然后在表视图

if let index = arrayData.index(of: object) { 
    arrayData.remove(at: index) 
    let indexSet = IndexSet(integer:index) 
    tableView.removeRows(at:indexSet, withAnimation:.effectFade) 
}