Swift 如何从分机调用选择器?

Swift 如何从分机调用选择器?,swift,uitableview,extension-methods,uirefreshcontrol,Swift,Uitableview,Extension Methods,Uirefreshcontrol,我已使用扩展将刷新控制器添加到表视图中: extension UITableViewController { func addRefreshController() { self.refreshControl = UIRefreshControl() self.refreshControl?.tintColor = UIColor.init(colorFromHexaString: VIOLET_COLOR_HEX_STRING) self

我已使用扩展将刷新控制器添加到表视图中:

extension UITableViewController {
    func addRefreshController() {
        self.refreshControl = UIRefreshControl()
        self.refreshControl?.tintColor = UIColor.init(colorFromHexaString: VIOLET_COLOR_HEX_STRING)
        self.refreshControl?.attributedTitle = NSAttributedString(string: "Pull to refresh", attributes: [NSAttributedStringKey.foregroundColor : UIColor.init(colorFromHexaString: VIOLET_COLOR_HEX_STRING)])
        refreshControl.addTarget(self, action: #selector(self.refresh), for: UIControlEvents.valueChanged)
        tableView.addSubview(refreshControl!)
    }
}
它显示了这个错误:

“UITableViewController”类型的值没有成员“刷新”

但是选择器
func
位于
TableViewController

class TableViewController: UITableViewController {
      override func viewDidLoad() {
            addRefreshController()
      }
      @objc func refresh () {
      }
}

那么,如何从扩展名调用选择器呢?

如果要访问
TableViewController
的选择器,应该扩展自己的类
TableViewController
,而不是
UITableViewController

extension TableViewController { [...] }

是否确实正确添加了
UITableViewController
扩展名因为您应该能够从子类中看到扩展方法。