tableview中的UIRefreshControl在尝试拉动刷新时死亡

问题描述 投票:0回答:1

在这个类中显然一切都处于良好状态(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()
  }
...
}
ios swift uitableview uirefreshcontrol
1个回答
0
投票

对我来说解决方案是将@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()
}
...

最好的祝福

© www.soinside.com 2019 - 2024. All rights reserved.