符合協議我需要聲明UIView
類型的變量,它也符合MyProtocol
:聲明類型的變量的UIView在斯威夫特2
protocol MyProtocol: class {
func foobar()
}
class MyClass {
var myView: UIView<MyProtocol>! // Error: Cannot specialize non-generic type 'UIView'
}
但是我得到的編譯器錯誤:無法專注非泛型類型'的UIView'。
我需要訪問變量從UIView
和MyProtocol
上的方法。
什麼是正確的變量聲明來支持這些要求?
如果有區別,只有UIView
子類將實現該協議。目前我通過擴展添加協議一致性。
我發現了這樣的回答:https://stackoverflow.com/a/25771265/233602但如果這個問題的答案仍然是要在最好的選擇中斯威夫特2
如果你不需要將這個協議的一個實例傳遞給一個使用'UIView'的函數,那麼這個地方不適用的一個值得注意的例子。 – mxcl