我有两个tableview,其中tableview1从NSArrayController获取其数据。 Tableview2从tableview委托获取数据,如下所示:
func tableView(_ tableview2: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
if tableview2 == self.tableview2 {
if let cellView = tableView.make(withIdentifier: (tableColumn?.identifier)!, owner: self) as? NSTableCellView {
let numbers = array[row]
if tableColumn?.identifier == "cell" {
cellView.textField?.stringValue = "\(numbers.number)"
return cellView
}
}
}
return nil
}
如果我从tabeleview1重新加载数据,则上面的tableview函数将被调用并返回nil。因此,tableview1始终为空。我当然可以删除tableview1的代表插座,但是我需要
tableViewSelectionDidChange()
函数。 最佳答案
为每个表视图返回一个单元格视图。设置表视图2的控件的值。
func tableView(_ tableview2: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
if let cellView = tableView.make(withIdentifier: (tableColumn?.identifier)!, owner: self) as? NSTableCellView {
if tableview2 == self.tableview2 {
if tableColumn?.identifier == "cell" {
let numbers = array[row]
cellView.textField?.stringValue = "\(numbers.number)"
}
return cellView
}
return nil
}