0
我有一張表,當我創建一些帶有更改文本的行時,它不會顯示在應用程序中。NSTableView中的NSTextField不更新它的值
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' – osadchi
@ElTomato,結果=列中有新行。它包含文本字段,如果我設置了新的stringValue並打印出來,它會顯示新的值,但在表中顯示的是前一個。 – osadchi