0
をレンダリングされていないコードです:テーブルビューは、ここでデータ
import Cocoa
class ViewController: NSViewController, NSTableViewDataSource, NSTableViewDelegate {
let data = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[1, 2, 3, 4],
[5, 6, 7, 8],
]
@IBOutlet weak var tbl: NSTableView!
override func viewDidLoad() {
print("init")
super.viewDidLoad()
tbl.delegate = self
tbl.dataSource = self
tbl.target = self
tbl.reloadData()
print("end init")
}
override var representedObject: Any? {
didSet {
tbl.reloadData()
}
}
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
if let cell = tbl.make(withIdentifier: tableColumn!.identifier, owner: nil) as? NSTableCellView {
if let col = Int(tableColumn!.identifier) {
print("col id: ", tableColumn!.identifier)
print(row, col)
cell.textField?.stringValue = String(data[row][col])
return cell
}
}
return nil
}
func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
if let col = tableColumn {
if let colIndex = Int(col.identifier) {
print(data[row][colIndex])
return data[row][colIndex] as Any
}
}
return nil
}
func numberOfRows(in tableView: NSTableView) -> Int {
return data.count
}
}
私は、テーブルビューに行列をロードしようとしていますが、アプリが実行されるとき、それは空白です。何がここで間違っていた? デバッグ情報から判断すると、関数tableView
は呼び出されませんでした。
これは、テーブルを作成するために使用している配列を含む変数を説明することなく、貧弱なトピックです。いくつの列がありますか? - わかりません。 –
'voices'は、表を移入するために使用されるデータです。 – qed
これは、tableViewのobjectValueForメソッドの記述方法ではありません。 –