【发布时间】:2015-04-14 23:46:17
【问题描述】:
在 Objective-C 中,您可以在返回值中指定类名和一组协议。例如,作为 UIScrollViewDelegate 的 UIViewController:
- (UIViewController<UIScrollViewDelegate> *) viewDelegate;
我找不到在 Swift 中表达这一点的方法。这样的事情失败了,因为 UIViewController 不是协议:
func viewDelegate() -> protocol<UIViewController, UIScrollViewDelegate>;
【问题讨论】:
-
只是想知道为什么需要在返回类型上声明协议?
-
@Woodstock 返回值需要实现类和协议中的方法。类型检查器最好强制执行它而不是在运行时检查。
标签: objective-c swift