UIRefreshControl в табличном представлении умирает, когда попытка тянуть, чтобы обновить - PullRequest
0 голосов
/ 27 марта 2019

В этом классе, видимо, все в хорошем состоянии (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 голосов
/ 27 марта 2019

Решением для меня было поставить @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()
}
...

С уважением

...