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

时间:2018-02-16 10:48:19

标签: swift uitableview extension-methods uirefreshcontrol

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

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 () {
      }
}

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

1 个答案:

答案 0 :(得分:1)

如果您想访问TableViewController的选择器,则应扩展自己的班级UITableViewController而不是TableViewController

extension TableViewController { [...] }