Swift:实现协议的类的类型

时间:2015-02-13 20:14:03

标签: objective-c swift

在Objective-C中,您可以在返回值中指定类名和一组协议。例如,一个UIVcrollConDelegate的UIViewController:

- (UIViewController<UIScrollViewDelegate> *) viewDelegate;

我无法在Swift中找到表达方式。这样的事情失败了,因为UIViewController不是协议:

func viewDelegate() -> protocol<UIViewController, UIScrollViewDelegate>;

1 个答案:

答案 0 :(得分:1)

您可以使用约束创建泛型函数。这是否满足您的使用案例?

  func viewDelegate<T: UIViewController, UIScrollLViewDelegate>() -> T {

    var t = T()

    return t;

  }