【发布时间】:2015-07-29 15:14:12
【问题描述】:
好的,所以我们有 UIScrollView 声明:
protocol UIScrollViewDelegate: NSObjectProtocol { ... }
class UIScrollView: UIView {
...
weak var delegate: UIScrollViewDelegate?
...
}
然后UITableView 与delegate 变体?
protocol UITableViewDelegate: NSObjectProtocol, UIScrollViewDelegate { ... }
class UITableView: UIScrollView {
...
weak var delegate: UITableViewDelegate?
...
}
Apple 是如何做到的?当我做我的时候
protocol MyScrollViewSubclassDelegate: NSObjectProtocol, UIScrollViewDelegate { ... }
class MyScrollViewSubclass: UIScrollView {
...
weak var delegate: MyScrollViewSubclassDelegate?
...
}
我得到属性'delegate',类型为'MyScrollViewSubclassDelegate?'无法覆盖类型为“UIScrollViewDelegate?”的属性。。
【问题讨论】:
-
如果将子类设置为 UITableView。 class MyScrollViewSubclass: UITableView
-
你在 Swift 2.0 中尝试过协议扩展吗?
-
我的问题是苹果如何做到这一点“魔法”,而不是如何设计“解决方法”。
标签: swift