【发布时间】:2016-12-17 13:12:58
【问题描述】:
我有一个表格,当我创建一些带有更改文本的行时,它不会显示在应用程序中。
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
}
}
在控制台中它看起来不错,但它显示了以前的值
默认情况下,日志列的文本字段 = 1 和日期 = 2
【问题讨论】:
-
我看不到结果文本字段或其他任何内容与表格视图之间的关系。这应该是基于视图的表格视图吗?
-
let result : NSTableCellView = tableView.make(withIdentifier: tableColumn!.identifier, owner: self) as! NSTableCellView -
@ElTomato,结果 = 列中的新行。它包含文本字段,如果我设置新的 stringValue 并打印它,它会显示新值,但在表格中显示的是以前的。
标签: swift nstableview nstextfield