- 跟戴铭学iOS编程:理顺核心知识点
- 戴铭
- 124字
- 2024-01-19 15:19:46
1.2.2 关联类型
在协议里定义的关联类型也可以用泛型来处理。我们定义一个协议,如下所示。
protocol HTNState { associatedtype StateType func add(_ item: StateType) }
采用非泛型的实现,如下所示。
struct states: HTNState { typealias StateType = Int func add(_ item: Int) { //... } }
采用泛型遵循协议,如下所示。
struct states<T>: HTNState { func add(_ item: T) { //... } }
这样关联类型也能够享受泛型的好处了。