为什么会出现无法识别的选择器错误?

时间:2018-06-22 22:11:04

标签: ios swift uitableview

此代码:

override func viewDidLoad() {
    super.viewDidLoad()
    mqttDataClient.delegate = self
    mqttDataClient.connect()
    let tableRefresh = UIRefreshControl()
    tableView.refreshControl = tableRefresh
    tableRefresh.addTarget(tableView, action: #selector(updateTable), for: .valueChanged)
    tableRefresh.endRefreshing()
}

@objc func updateTable(){
    print("R")
    mqttDataClient.publish("control", withString: "sendMovieList")

}

崩溃并出现以下错误:

  

-[UITableView updateTable]:无法识别的选择器已发送到实例0x106008a00

我在macOS 10.14上使用Xcode 10。我想我已经正确设置了此功能,我想知道新的xCode是否存在问题。我的意思是选择器就在那里,对吗?

1 个答案:

答案 0 :(得分:1)

您的updateTable是视图控制器的一种方法,而不是表视图。

更改:

tableRefresh.addTarget(tableView, action: #selector(updateTable), for: .valueChanged)

收件人:

tableRefresh.addTarget(self, action: #selector(updateTable), for: .valueChanged)

target必须始终是实现选择器的类。