generics - Swift 泛型和相关类型的错误

标签 generics swift associated-types

以下 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/

相关文章:

ios - Swift 输入输出参数 - 用例

ios - 当我通过 OpenGLES 自定义 imageView 时出了什么问题?

swift - 具有相同关联类型名称的协议(protocol)

c++ - 'using' 的候选标准函数

java - Comparable Generic 如何使用 ist

json - Safari 内容阻止 Swift 的多个过滤器

haskell - 关联数据族和重叠实例

haskell - 使用模板 Haskell 获取关联类型同义词

generics - F# ICastableTo<'T> 等效吗?

python - 如何在运行时检查 TypeVar 的类型