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