Swift3 未调用didSelectRowAt方法(swift 3)

Swift3 未调用didSelectRowAt方法(swift 3),swift3,Swift3,我通过编程创建了一个简单的TableView示例 import UIKit class ViewController: UIViewController { var solarObjects : UITableView! = nil var dataSourceTable:DemoTable? override func viewDidLoad() { super.viewDidLoad() solarObjects = UI

我通过编程创建了一个简单的TableView示例

import UIKit

class ViewController: UIViewController
{
    var solarObjects : UITableView! = nil
    var dataSourceTable:DemoTable?

    override func viewDidLoad()
    {
        super.viewDidLoad()

        solarObjects = UITableView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height * 0.9))
        solarObjects.allowsSelection = true
        solarObjects.backgroundColor = UIColor.white
        self.dataSourceTable = DemoTable()
        self.solarObjects.dataSource = self.dataSourceTable

        view.addSubview(solarObjects)
    }
    override func didReceiveMemoryWarning() 
    {
        super.didReceiveMemoryWarning()
    }
}
solarObject的数据源位于单独的文件(demograble.swift)中

此示例运行正常,但当我选择一行时,didSelectRowAt方法不响应->(打印(“选择了SolarObject”), 那么,如何处理行选择上的操作呢? 将感谢您的帮助:-)

您需要添加

self.solarObjects.delegate = self.dataSourceTable
didSelectRow
是您需要添加的
UITableViewDelegate
的一部分

self.solarObjects.delegate = self.dataSourceTable

didSelectRow
UITableViewDelegate

在您的viewController中添加此行的一部分

var dataDelegateTable:可降级

然后在viewDidLoad中添加:
self.solarObjects.delegate=self.dataDelegateTable

在viewController中添加此行

var dataDelegateTable:可降级

然后在viewDidLoad中添加:
self.solarObjects.delegate=self.dataDelegateTable

该对象不是可降级类型的初始化对象,因此它不会工作,但下面的代码将工作->var dataDelegateTable:demostable=demostable()。该对象不是可降级类型的初始化对象,因此它不会工作,但下面的代码将工作->var dataDelegateTable:demostable=demostable()