2016-11-06 81 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) 
}