此代码:
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是否存在问题。我的意思是选择器就在那里,对吗?
答案 0 :(得分:1)
您的updateTable
是视图控制器的一种方法,而不是表视图。
更改:
tableRefresh.addTarget(tableView, action: #selector(updateTable), for: .valueChanged)
收件人:
tableRefresh.addTarget(self, action: #selector(updateTable), for: .valueChanged)
target
必须始终是实现选择器的类。