我想在 Swift 中实现一个带有两个参数的泛型类。一个必需的约束是第一个参数是协议(protocol),第二个参数必须实现该协议(protocol)。
代码:
protocol Protocol {}
class Generic<T: Protocol, U> where U: T {
}
编译器错误提示:
error: type 'U' constrained to non-protocol, non-class type 'T'
但这不是真的,因为 T 是一个协议(protocol)。
你知道如何实现它吗?
Best Answer-推荐答案 strong>
我认为你想要的是
protocol Protocol {}
class Generic<T: Protocol> {
init(type: T.Type, instance: T) {
}
}
但是用例可以帮助我们了解您想要实现的目标...
关于ios - Swift泛型类参数实现另一个参数,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/51375864/
|