我需要帮助解决这个问题!我正在添加pull来刷新我的表视图。当我拉动刷新时,我希望文章能够刷新。如果知道这一点的人会帮助我会很棒,如果还有其他错误的话。
Argument of '#selector' does not refer to an '@objc' method, property, or initializer
错误在于:
refreshControl.addTarget(self, action: #selector(fetchArticles(fromSource: source)), for: .valueChanged)
return refreshControl
}()
这是函数fetchArticles
:
@objc func fetchArticles(fromSource provider: String){
...
}
答案 0 :(得分:0)
您必须添加另一个功能来刷新文章,因为您传递了一个参数:
@objc func refreshArticles() {
self.fetchArticles(fromSource: self.source))
}
像这样添加目标:
refreshControl.addTarget(self, action: #selector(refreshArticles), for: .valueChanged)
另外,不要错过将refreshControl添加到tableView,如下:
tableView.addSubview(refreshControl)
更新 fetchArticles完成后添加以下行:
refreshControl.endRefreshing()
您正在使用session.dataTask
所以必须进入内部:
DispatchQueue.main.async {
refreshControl.endRefreshing()
}