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

时间:2019-03-27 14:52:19

标签: ios swift uitableview uirefreshcontrol

在这个类中,显然所有的状态都很好(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()
  }
...
}

1 个答案:

答案 0 :(得分: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()
}
...

最诚挚的问候