我想从数组中捕获信息并将其显示到我的NSTableView中。我不确定要为此做些什么(我对Swift和一般编程还是很陌生的)。

我的表格视图如下所示:

arrays - 将数组对象放入NSTableView-LMLPHP

我想从数组中获取值名称,并使用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/

10-12 17:35