2
我有這個協議,類和一個類需要一個通用的,必須符合兩者。如何在Swift中使用泛型和多繼承的變量?
我想構建一個註冊表,它包含這樣的類的數組,但是如何在註冊表中定義一個滿足編譯器的變量?
考慮這個例子:
protocol SomeProtocol {
}
class SomeClass {
}
class AnotherClass<R, P where P:SomeProtocol, P:SomeClass> {
}
class Registry {
private init() {}
// This is not allowed since the second generic doesn't conform to neither required class
var registry:[AnotherClass<AnyObject, AnyObject>] = []
}
難道這不會使解決方案比所需的更具體嗎?你可以在這裏定義多處的使用情況嗎?這不是很奇怪嗎? – 2015-03-19 11:41:25
@KevinR你說得對。這是更嚴格的,你表達的想法。 – 2015-03-19 12:43:31
然後我們必須使註冊表成爲一個通用類。我用一個例子更新了我的答案。 – NebulaFox 2015-03-19 13:31:28