我想从数组中捕获信息并将其显示到我的NSTableView中。我不确定要为此做些什么(我对Swift和一般编程还是很陌生的)。
我的表格视图如下所示:
我想从数组中获取值名称,并使用NSTableView将其显示在名称表中。我找到了this tutorial on Ray Wenderlich,但是代码已经过时了,我不想在项目中使用旧的东西,而这些旧的东西在新的OS版本中可能不再起作用。
看来我需要[NSTableViewDataSource numberOfRows][3]
和viewFor。
有关如何执行此操作的任何示例-也许有人在几周前使用Swift 3做到了? :D
数组中的信息将通过以下方式生成:
var devices = [Device]()
let quantityDevices = quantityData.intValue
for i in 0...quantityDevices-1 {
let newDevice = Device()
print("created new device")
newDevice.name = titleData.stringValue + "-\(i)"
devices.append(newDevice)
}
print("now we have \(devices.count) devices in our array")
}
最佳答案
您需要的代码的重要部分是DataSource委托函数:
extension ViewController : NSTableViewDataSource {
func numberOfRows(in tableView: NSTableView) -> Int {
return devices.count
}
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
// 1 - get the device for this row
guard let device = devices[row] else {
return nil
}
// 2 - configure the cell with the device data
return nil
}
有一个例子here on StackOverflow应该给出一个更好的例子
关于arrays - 将数组对象放入NSTableView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40652935/