2017-02-23 21 views
1

所以我有一個通用類FirstClass<T: SomeProtocol>,我有第二個類(它從NSObject繼承),其中它包含FirstClass的數組,並有函數返回數組的元素返回FirstClass<T>)。通用類本身是通用的

其實我在語法上遇到了一些麻煩。

SecondClass<F>: NSObject where F == FirstCall<S>, S: SomeProtocol {} 我認爲這是說明最好的說明,我想實現

這裏我有一個錯誤:Use of undeclared type 'T'

我想知道這是否可以用特定的語法來實現,或者如果我採取了一個不好的路徑。

謝謝

回答

2

我想你想要做這樣的事情

protocol SomeProtocol { 

} 

class FirstClass<T: SomeProtocol> { 

} 

class SecondClass<F,T:SomeProtocol>:NSObject where F:FirstClass<T> { 

} 
+0

謝謝!不幸的是,它不編譯...當我評論我沒有任何問題,但當我取消註釋時,我有一個'Swift編譯器錯誤':( – Zico

+0

多數民衆贊成在奇怪的,似乎編譯罰款,與迅速3 。你用什麼版本的swift? – DavidEC

+0

'Apple Swift version 3.0.2(swiftlang-800.0.63 clang-800.0.42.1)'with'Xcode 8.2.1'。 – Zico