我有两个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()
函数。
答案 0 :(得分:0)
返回每个表视图的单元格视图。设置表视图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
}