我已使用扩展名将刷新控制器添加到表格视图中:
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 () {
}
}
那么,如何从扩展名中调用选择器?
答案 0 :(得分:1)
如果您想访问TableViewController
的选择器,则应扩展自己的班级UITableViewController
而不是TableViewController
。
extension TableViewController { [...] }