2 个 NSTableViews 1 ViewController。第二个表视图中的单元格未将数据附加到行

2 NSTableViews 1 ViewController. Cells in second tableview not appending data to rows

第二个 table 视图单元格正在填充 "Table View Cell" 即使填充了 inActiveComputers 数组。

tableView1 已成功填充 activeComputers 数组。 table 都通过 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 中的内容直接被跳过。我觉得用这种方法无法实现我想要实现的目标!?

感谢提示

我需要为第二个 table 的嵌套文本字段设置引用插座。我在第一个 table 上设置了这个,但在第二个上忘记了。 我现在能够将每个数组解析为每个 table。 (见下图)

Table Cell View: Referencing Outlets