我做过IOS开发,但对OSX很陌生。我面临的问题是,我通过单击表行中的按钮成功删除了 NStableView 中的行,但是当我单击添加按钮时,删除的行再次出现,然后它没有被删除。这是我的删除功能
func delIssue(_ sender:NSButton)
{
let btn = sender
if btn.tag >= 0
{
let issueValue = issueKeys[btn.tag]
for index in 0..<issueName.count
{
if issueValue == issueName[index]
{
issueName.remove(at: index)
rowCount = rowCount - 1
self.tableView.removeRows(at: NSIndexSet.init(index: index) as IndexSet , withAnimation: .effectFade)
self.tableView.reloadData()
break
}
}
}
}
rowCount 基本上是变量,我在添加行时递增,在删除行时递减。我的添加行功能是
@IBAction func addRow(_ sender: Any)
{
rowCount += 1
DispatchQueue.main.async
{
self.tableView.reloadData()
}
}
数据源是
func numberOfRows(in tableView: NSTableView) -> Int
{
return rowCount
}