检查类和协议的一致性

时间:2015-07-28 03:24:14

标签: ios swift protocols

我正在尝试创建一个方法,该方法使视图控制器也符合协议。在目标C中,看起来如下所示:

- (void)myMethod:(UIViewController<MyProtocol> *)viewController

但我无法找到同时检查类类型和协议一致性的方法。我可以设置函数签名来验证一半,然后检查函数类型中的第二部分:

func myMethod(myObject: MyProtocol) {
    if myObject is UIViewController {
        // Do something with it
    } else {
        // Handle the unexpected type
    }
}

感觉有很多额外的检查和人为错误的可能性。有没有办法检查方法签名中的类类型和协议一致性?或者,我可以创建一个继承自UIViewController并符合协议的基类,但这增加了我希望尽可能避免的额外错误。关于如何处理这个问题的想法?

0 个答案:

没有答案