swift 一个控制器实现多个delegate(UItableviewdelegate,UIScrollViewDelegate),那么tableview.delegate设置指定delegate怎么搞?
swift 一个控制器实现多个delegate(UItableviewdelegate,UIScrollViewDelegate),那么tableview.delegate设置指定delegate怎么搞?
不是很懂你的问题,不过controller是可以实现多个delegate,并只需要把tableview.delegate = self
.
不知道这个答案是不是你想要的。
class CustomViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let tableView = UITableView()
tableView.delegate = self
}
}
extension CustomViewController: UITableViewDelegate {
}
extension CustomViewController: UIScrollViewDelegate {
}
2 回答1k 阅读
1 回答1.1k 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.5k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答1.1k 阅读
delegate都是固定的,里面有对应的协议才能设置代理,不存在tableview调用了ScrollView的协议,所以可以放心使用。
如果是你自己设置的协议代理,同一个类里面要有多个delegate,你完全可以随意给他命名,比如UITableView里面就有两个协议,一个是用来处理UI的,叫delegate,一个用来处理数据的,叫datasource。调用的时候直接就是:
然后再调用他们各自的方法。