我需要声明一个类型为UIViewController
的变量,该变量符合我制作的自定义协议。通常,我会在ObjC中这样做:
UIViewController<MyProtocol> *thingie;
但是,我不知道如何在swift中实现这一目标。
我现在只是投射物体,直到有用的东西出现:
let conformingObject = viewController as MyProtocol
答案 0 :(得分:1)
您可以通过使用泛型来实现类似的功能。像这样:
class SomeClass<T where T: UIViewController, T: MyProtocol> {
var thingie: T
}