在这个类中显然一切都处于良好状态(xcode 10.0),但在我更新到xcode 10.2后,每个viewController我都有相同的结构崩溃现在,显然当我尝试拉动刷新时,应用程序无法识别refreshControl。这是一个示例代码:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
var refresh : UIRefreshControl!
override func viewDidLoad() {
super.viewDidLoad()
self.refresh = UIRefreshControl()
self.refresh.tintColor = UIColor.red
self.refresh.attributedTitle = NSAttributedString(string: "Update data")
self.refresh.addTarget(self, action: #selector(self.refreshMethod), for: .valueChanged)
self.tableView.addSubview(self.refresh)
}
@objc func refreshMethod(){
self.httpGETRequest()
}
...
}
对我来说解决方案是将@objc func refreshMethod(_ refreshControl: UIRefreshControl){...
放在我的原始代码中,现在它仍然可以工作。
@IBOutlet weak var tableView: UITableView!
var refresh : UIRefreshControl!
override func viewDidLoad() {
super.viewDidLoad()
self.refresh = UIRefreshControl()
self.refresh.tintColor = UIColor.red
self.refresh.attributedTitle = NSAttributedString(string: "Update data")
self.refresh.addTarget(self, action: #selector(self.refreshMethod), for: .valueChanged)
self.tableView.addSubview(self.refresh)
}
@objc func refreshMethod(_ refreshControl: UIRefreshControl){
//Now it is obligatory to make the pull to refresh functional...
self.httpGETRequest()
}
...
最好的祝福