我有一张桌子,当我创建一些带有更改文本的行时,它不会在应用程序中显示。
var items : [String] = []
override func viewDidLoad() {
super.viewDidLoad()
items.append("Apples")
items.append("Oranges")
tableView.reloadData()
}
func numberOfRows(in tableView: NSTableView) -> Int {
return items.count
}
func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any?{
let result : NSTableCellView = tableView.make(withIdentifier: tableColumn!.identifier, owner: self) as! NSTableCellView
print(tableColumn?.title)
result.textField?.stringValue = items[row]
print(result.textField?.cell?.title)
return result
}
}
在控制台中它看起来不错,但它显示以前的值
默认情况下,日志列的textfield = 1,日期= 2
答案 0 :(得分:1)
我明白了。我已经将类型更改为基于单元格和tableView功能。
func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
return items[row]
}