第二个表格视图单元格填充有“表格视图单元格” 即使已填充inActiveComputers数组。
tableView1已成功用activeComputers数组填充。这两个表的数据源,委托和引用出口都通过IB设置为MainView。
我对下一步的尝试感到茫然!
@IBOutlet weak var tableView1: NSTableView!
@IBOutlet weak var tableView2: NSTableView!
func numberOfRows(in tableView: NSTableView) -> Int {
if(tableView == self.tableView1){
return activeComputers.count
}
else if(tableView == self.tableView2){
return inActiveComputers.count
}
return 0
}
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
var result = NSTableCellView()
if(tableView == self.tableView1)
{
result = tableView.makeView(withIdentifier: (tableColumn?.identifier)!, owner: self) as! NSTableCellView
result.textField?.stringValue = activeComputers[row][(tableColumn?.identifier.rawValue)!]!
return result
}
else if(tableView == self.tableView2)
{
result = tableView.makeView(withIdentifier: (tableColumn?.identifier)!, owner: self) as! NSTableCellView
result.textField?.stringValue = inActiveComputers[row][(tableColumn?.identifier.rawValue)!]!
return result
}
return nil
}
我也尝试过...
func numberOfRows(in tableView: NSTableView) -> Int {
if tableView == tableView1 {
return activeComputers.count
} else { return deadComputers.count}
}
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
var result = NSTableCellView()
result = tableView.makeView(withIdentifier: (tableColumn?.identifier)!, owner: self) as! NSTableCellView
if tableView == tableView1 {
result.textField?.stringValue = activeComputers[row][(tableColumn?.identifier.rawValue)!]!
} else {
result.textField?.stringValue = deadComputers[row][(tableColumn?.identifier.rawValue)!]!
}
return result
}
我在} else {
上设置了一个断点
tableView函数中else中的内容只是被跳过。我觉得用这种方法无法实现我想要实现的目标!?
答案 0 :(得分:0)
感谢小提示
我需要为第二个表的嵌套textField设置引用出口。我在第一张桌子上放了这张桌子,但是在第二张桌子上却忘记了。 现在,我可以将每个数组解析为每个表。 (请参见下图)