如何从扩展中调用选择器?

How can I call a selector from an extension?

我已使用扩展程序将刷新控制器添加到 table 视图:

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!)
    }
}

显示此错误:

Value of type 'UITableViewController' has no member 'refresh'

但是选择器 funcTableViewController 中。

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

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

如果您想访问 TableViewController 的选择器,您应该扩展自己的 class、TableViewController 而不是 UITableViewController

extension TableViewController { [...] }