【发布时间】:2018-02-13 22:34:25
【问题描述】:
虽然我知道这很简单。
我有多个 ViewController,每个 ViewController 都有一个表格视图来显示特定于控制器的数据列表。四分之三的工作完美。但是,我显然遗漏了第四部分,因为 .reloadData() 永远不会调用 Delegate 方法。没有编译器错误,只是从不出于某种原因调用我的委托方法。
这是我的班级设置,包括我连接的插座变量:
class performanceViewController: NSViewController, NSTableViewDataSource, NSTableViewDelegate {
//--------------------------------
// OUTLET CONNECTIONS
//--------------------------------
@IBOutlet weak var displayPerformanceList: NSTableView!
我还实现了以下两个委托函数:
func numberOfRows(in tableView: NSTableView) -> Int {
和
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
但由于某种原因,当我执行自定义函数时,这些函数都没有被调用:
func redrawViews() {
self.displayPerformanceList.reloadData()
}
(注意:.reloadData 被包装在一个函数中,因为它还将执行我尚未添加的其他事情。)
我在两个委托函数中都添加了断点,这就是我知道它们没有被执行的方式。
我知道这将是我错过的一些愚蠢的事情,因为我在其他三个自定义视图控制器中工作...我只是无法为我的生活弄清楚我错过了什么...
任何想法将不胜感激!
:)
【问题讨论】:
标签: delegates nstableview reloaddata