我需要帮助解决这个问题!我正在添加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){
...
}
您必须添加另一个函数来刷新文章,因为您传递了一个参数:
@objc func refreshArticles() {
self.fetchArticles(fromSource: self.source))
}
和addTarget像这样:
refreshControl.addTarget(self, action: #selector(refreshArticles), for: .valueChanged)
另外,不要错过将refreshControl添加到tableView,如下:
tableView.addSubview(refreshControl)
更新fetchArticles完成后添加以下行,如下所示:
refreshControl.endRefreshing()
你正在使用session.dataTask
所以这必须进入:
DispatchQueue.main.async {
refreshControl.endRefreshing()
}