2014-11-23 51 views
1

我需要聲明一個符合我所制定的自定義協議的類型爲UIViewController的變量。通常情況下,我會在ObjC做到這一點:Swift中符合協議的具體類型

UIViewController<MyProtocol> *thingie; 

但是,我不知道如何實現這一目標的快捷。


我只是鑄造的對象,現在,直到一些有用的東西顯示出來:

let conformingObject = viewController as MyProtocol 
+0

這個對象實際上是不是'UIViewController'? – nhgrif 2014-11-23 16:27:34

+0

@nhgrif是的,我訪問'UIViewController'方法以及協議方法。 – Mazyod 2014-11-23 16:30:16

+0

是否有對象符合'MyProtocol'不是'UIViewController'? – nhgrif 2014-11-23 16:30:46

回答

1

您可以通過實現使用泛型類似的東西。就像這樣:

class SomeClass<T where T: UIViewController, T: MyProtocol> { 
    var thingie: T 
} 
相關問題