可选类型
可选类型的本质其实就是一个枚举,
None | Some |
---|---|
没有值 | 有值 |
格式:Optional<类型> 或 在类型后面加上?号
由于可选类型在Swift随处可见,所以系统做了一个语法糖,在类型后面加上?
具体介绍可看之前的文章Swift-元祖、可选值
1 | var opa: Optional<Int> |
可选链
可选链(Optional Chinaning)是一种可以请求和调用属性、方法和子脚本的过程,用于请求或调用的目标可能为nil
可选链返回有两个值:
- 如果目标有值,调用将返回该值
- 如果目标为nil,嗲用将返回nil
多次请求或调用可以被链接成一个链,如果任意一个节点为nil将导致整条链失效。
注意:可选链的返回值是一个可选值
格式:
- 可选值?.属性
- 可选值?.方法
1 | class Person { |
可选链调用下标索引
格式:可选值?[]
1 | struct Student { |
多层可选链
单层:可选值?.属性
多层:可选值?.属性.属性?.属性 or 可选值?.属性?.属性?.属性
1 | class A { |
参考: