好了,我们有了UIScrollView
声明:
protocol UIScrollViewDelegate: NSObjectProtocol { ... }
class UIScrollView: UIView {
...
weak var delegate: UIScrollViewDelegate?
...
}
然后是
UITableView
与delegate
的变体?protocol UITableViewDelegate: NSObjectProtocol, UIScrollViewDelegate { ... }
class UITableView: UIScrollView {
...
weak var delegate: UITableViewDelegate?
...
}
苹果是如何做到的?当我做我的
protocol MyScrollViewSubclassDelegate: NSObjectProtocol, UIScrollViewDelegate { ... }
class MyScrollViewSubclass: UIScrollView {
...
weak var delegate: MyScrollViewSubclassDelegate?
...
}
我得到类型为“MyScrollViewSubclassDelegate?”的属性“delegate”?无法覆盖类型为'UIScrollViewDelegate?'的属性? 。
最佳答案
我偶然发现了这几次,发现的唯一解决方法是仅将我的媒体资源称为customDelegate或您喜欢的任何东西。
能够仅将其称为“委托(delegate)”确实很整洁,但是,嘿!
关于swift - 在Swift中委托(delegate)具有不同类型的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31704480/