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
扩展名因为您应该能够从子类中看到扩展方法。