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
第二个 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