gpt4 book ai didi

swift - 为什么我的 NSTableView 没有显示我给它的数据?

转载 作者:行者123 更新时间:2023-11-28 13:20:19 29 4
gpt4 key购买 nike

设置:

  1. 使用 XCode 6.1 创建的基于 Cocoa 的 MacOS 应用
  2. 使用 Storyboard
  3. 一个以 NSTableView 作为唯一 View 的 ViewController
  4. 全部以 Swift 作为语言完成

我的 ViewController 代码是这样的:

import Cocoa

class ViewController: NSViewController, NSTableViewDataSource {
@IBOutlet var tableView: NSTableView!

let data = [
["FirstName": "Debasis", "LastName": "Das"],
["FirstName": "Nishant", "LastName": "Singh"],
["FirstName": "John", "LastName": "Doe"],
["FirstName": "Jane", "LastName": "Doe"],
["FirstName": "Mary", "LastName": "Jane"]
]

override func viewDidLoad() {
super.viewDidLoad()
tableView.setDataSource(self)

}

override var representedObject: AnyObject? {
didSet {
}
}

func numberOfRowsInTableView(tview: NSTableView) -> Int {
return data.count
}

func tableView(tview: NSTableView, objectValueForTableColumn col: NSTableColumn?, row: Int) -> AnyObject? {
return "row \(row) col \(col?.identifier)"
}
}

storyboard 中有一个从 tableView outlet 到 NSTableView 的连接。

当这个应用程序运行时,你会得到一个包含 5 行的表格 View ,正如你所期望的给定数据,但每个单元格的内容都是“表格 View 单元格”。我试过只返回“1”、数字 1 和各种其他对象,但我无法让它显示我从 tableView 方法返回的内容。我假设返回的 AnyObject 需要是特定的东西(因为在调用者中有一个 instanceof 检查),但是我发现的所有示例代码都返回字符串并且一切正常,所以事情已经改变或者我的代码是错误的在某种程度上我一直无法弄清楚。

最佳答案

如果您只是在创建一个包含 TableView 的 View ,我建议您只使用 UITableViewController 代替。从模板创建一个,应该更容易启动和运行它。

关于swift - 为什么我的 NSTableView 没有显示我给它的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26521395/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com