如何在Swift中单击按钮时填充NSTableView

时间:2015-08-14 14:18:54

标签: macos swift cocoa nstableview

我有一个基于CellBased的NSTableView。我需要在Button Click上填充它。我编写了用于填充实现NSTableViewDataSource协议的表的代码。我使用数组作为数据源。

代码如下

func numberOfRowsInTableView(tableView: NSTableView) -> Int {
        let numberOfRows:Int = dataArray.count
        return numberOfRows
    }



     func tableView(tableView: NSTableView, objectValueForTableColumn tableColumn: NSTableColumn?, row: Int) -> AnyObject? {
}

但是当我启动应用程序时,一切都被加载了。我希望数据加载到按钮上像IBACtion一样

@IBAction func findButton(sender: AnyObject) {

    }

请帮忙!

2 个答案:

答案 0 :(得分:1)

不要通过界面构建​​器或其他地方设置委托,在按钮中设置它:

@IBAction func findButton(sender: AnyObject) {
    self.tableView.dataSource = self
    self.tableView.delegate = self
    self.tableView.reloadData()
}

答案 1 :(得分:1)

尝试将UITableView.dataSource设置为nil。然后当你准备好(按钮点击)时,调用tableView.dataSource = self。您可能还必须调用tableView.reloadData()。

没有对此进行测试,但理论上应该有效。