将字典放入 NSTableView 中 Swift 4

Put Dictionary in NSTableView in Swift 4

我想放字典:

dict = [["itemId": 21, "itemPrice": 34], ["itemId": 32, "itemPrice": 52]]

我还在 NSViewController 中链接了 NSTableView

class MainViewController: NSViewController {

      @IBOutlet weak var tableView: NSTableView!
      .... 
}

标识符列与我的字典的键相同dict

如何将我的字典放入 table?以及如何更改 table?

中的值

table 视图的模型是一个对象数组,每个对象代表一行。

分段 table 视图的模型是对象数组的数组。 (外层数组代表节,内层数组代表行)。

table 的数据源的第一项工作是将其输入重新排列为数组。字典提供了 allKeys 和 allValues 方法,它们分别回答键和值的数组。这通常是一个开始的地方。

Cocoa绑定解决方案:

  1. 在视图控制器中声明一个数据源数组

    @objc dynamic var items = [["itemId": 21, "itemPrice": 34], ["itemId": 32, "itemPrice": 52]]
    
  2. 在界面生成器中

    • 将 table 视图的 Content 绑定到 View Controller > items
    • 将第一列Table View CellValue绑定到Table Cell View > objectValue.itemId
    • 将第二列Table View CellValue绑定到Table Cell View > objectValue.itemPrice

    请注意 Table View CellTable Cell View 的区别。很关键。

就是这样。除了单行之外不需要任何代码。