-2
テーブルビューのセルのtextFiledが決して変更されないのはなぜですか?
==================================== ==============================
class ViewController: NSViewController,NSTableViewDelegate, NSTableViewDataSource{
@IBOutlet weak var sidebarView: NSTableView!
func numberOfRows(in tableView: NSTableView) -> Int {
return 9
}
func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
let tableCellView = tableView.make(withIdentifier: tableColumn!.identifier, owner: self) as? NSTableCellView
let str:String = (tableColumn?.identifier)!
if str == "SIDEBAR_ITEM" {
tableCellView!.textField?.stringValue = "test"
print(tableCellView!.textField?.stringValue)
}
return tableCellView
}
func tableView(_ tableView: NSTableView, rowViewForRow row: Int) -> NSTableRowView? {
//print("rowViewForRow")
return NSTableRowView(frame: NSRect(x: 0, y: 0, width: 100, height: 100))
}}
============= ========================================== ===
これについて何が間違っていますか?それはどんなエラー設定ですか?いつも "テーブルビューセル"を表示しています
コードを実行するとき、 'objectValueFor'メソッド内の' str'の実際の値は何ですか? – rmaddy
プロトコル 'NSTableViewDelegate'がメソッド' tableView(_:viewFor:row:) 'を宣言し、実装するべきときは知っていますか? (もう1つ、画像ではなくテキストとしてコードを表示する方がよいでしょう) – OOPer
strの値は比較値 "SIDEBAR_ITEM"と同じですが、私もtableView(_:viewFor:row :) methoeを実装していますしかし、それは決してタイトルを変更しません。 – MJ000111