以下 Swift 代码反复使编译器崩溃。我错过了什么?
protocol Props {
typealias ComponentType: Component<Self>
}
class Component<PropsType: Props> {
}
class FooProps : Props {
typealias ComponentType = FooComponent<FooProps>
}
class FooComponent<PropsType: Props> : Component<PropsType> {
}
最佳答案
已经有一些关于在协议(protocol)中使用泛型的很好的讨论。
http://schani.wordpress.com/2014/06/03/playing-with-swift/
http://schani.wordpress.com/2014/06/11/associated-types-considered-weird
第二篇文章对您的问题很有启发性。简而言之,swift 没有协议(protocol)的通用类型。希望这有用。
关于generics - Swift 泛型和相关类型的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26053866/