«Нераспознанный селектор, отправленный экземпляру» для расширения, реализующего обновление для обновления для табличного представления - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь добавить расширение для добавления pull для обновления в Table View.Это контрольный ответ, за которым я следую https://stackoverflow.com/a/33255722/6307359

Мой код выдает ошибку " нераспознанный селектор отправлен на экземпляр "

Ниже приведен мой код.Может кто-нибудь, пожалуйста, посмотрите на это и дайте мне знать, где я делаю это неправильно?

Tx заранее.

Extension.swift

var refreshControl = UIRefreshControl()

public extension UIViewController
{
    func addPullToRefresh(tableView: UITableView, refreshMethodName: String){

        refreshControl.addTarget(self, action: Selector(refreshMethodName), for: .valueChanged)

        if #available(iOS 10.0, *) {
            tableView.refreshControl = refreshControl
        } else {
            tableView.addSubview(refreshControl)
        }

    }

    func pullToRefreshEnd (){

        refreshControl.endRefreshing()

    }
}

ViewController.swift

override func viewDidLoad() {

    super.viewDidLoad()

    self.addPullToRefresh(tableView: statementsTable, refreshMethodName: "pullToRefresh")

}

// Pull to refresh implementation
func pullToRefresh() {

    // some action here
    self.pullToRefreshEnd()

}

1 Ответ

0 голосов
/ 11 сентября 2018

Я решил добавить @objc перед реализацией метода во ViewController.swift.Никаких других изменений не требуется.

// Pull to refresh implementation
@objc func pullToRefresh() {

    // some action
    self.pullToRefreshEnd()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...