gpt4 book ai didi

swift - 如何防止NSTableView调用委托(delegate)函数?

转载 作者:行者123 更新时间:2023-11-30 12:17:25 25 4
gpt4 key购买 nike

我有两个 TableView ,其中 tableview1 从 NSArrayController 获取数据。 Tableview2 从 tableview 委托(delegate)获取数据,如下所示:

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 的委托(delegate)导出,但我需要它用于 tableViewSelectionDidChange() 函数。

最佳答案

返回每个 TableView 的单元格 View 。设置表格 View 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
}

关于swift - 如何防止NSTableView调用委托(delegate)函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45221955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com