swift|swift 关联类型
关联类型
定义一个协议时,声明一个或多个关联类型作为协议定义的一部分将会非常有用。关联类型为协议中的某个类型提供了一个占位符名称,其代表的实际类型在协议被遵循时才会被指定。关联类型通过 associatedtype 关键字来指定。关联类型只能在协议中定义。
关联类型实践
【swift|swift 关联类型】在协议中使用associatedtype来定义一个关联类型,在遵守协议的类中使用typealias指定关联类型,如下图:
import UIKit
protocol HelloProtocol {
/****
定义一个关联类型
/
associatedtype value
/****
定义一个使用方法
/
mutating func logValue(v: value)
}
class HelloClass: HelloProtocol {
/
指定关联类型是哪种类型,这里指定的是Int
/
typealias value = https://www.it610.com/article/Int
/
实现协议中的方法
/
func logValue(v: Int) {
/
这里打印的类型是Int类型2
/
print(v)
}
}
let hC = HelloClass()
hC.logValue(v: 2)
class NextClass: HelloProtocol {
/*
指定关联类型是哪种类型,这里指定的是Int
/
typealias value = https://www.it610.com/article/String
/*
实现协议中的方法
/
func logValue(v: String) {
/*
这里打印的类型是String类型NextClass
*/
print(v)
}
}
let hN = NextClass()
hN.logValue(v: "NextClass")
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- Swift中willSet和didSet的简述
- Hacking|Hacking with iOS: SwiftUI Edition - SnowSeeker 项目(一)
- LeetCode算法题-11.|LeetCode算法题-11. 盛最多水的容器(Swift)
- mysql|InnoDB数据页结构
- 接口|axios接口报错-参数类型错误解决
- iOS-Swift-map|iOS-Swift-map filter reduce、函数式编程
- 带你了解类型系统以及flow和typescript的基本使用
- Swift|Swift ----viewController 中addChildViewController
- SwiftUI|SwiftUI iOS 瀑布流组件之仿CollectionView不规则图文混合(教程含源码)