Swift - 使用协议的返回类型

时间:2015-01-30 10:44:10

标签: ios swift

我试图在Swift项目中实现DeepLinkSDK,但我在将此转换为swift时遇到了问题:

@implementation ProductRouteHandler

- (UIViewController <DPLTargetViewController> *)targetViewController {
  return [[ProductDetailViewController alloc] init];
}

@end

有人可以帮我吗? 提前致谢

1 个答案:

答案 0 :(得分:2)

我不知道您可以指定一个返回类型,这意味着“A的某些子类符合T”,但您可以做的只是将返回类型设置为ProductDetailViewController,因为Swift允许covariant return types for methods overridden in subclasses(如Java,C ++或Scala)。

override func targetViewController() -> ProductDetailViewController  {
    return ProductDetailViewController()
}