可选链(Optopnal Chaining)
可选项的返回值也是可选型
- 如果可选项为nil,调用方法、下标、属性失败,结果为nil
- 如果可选项不为nil,调用方法、下标、属性成功,结果会被包装成可选项
- 如果结果本来就是可选项,不会进行再次包装
- 可选项调用无返回值的方法的结果可以为nil,也可以为可选型空元组()?,比如person?.eat(),当person为nil,则结果为nil,若person不为nil,则返回值为可选型空元组()?。可选项绑定运用的就是这种原理:
- 可选链可以理解为在可选项后调用属性,下标和方法
- 多个?可以链接在一起
- 如果链中任何一个节点是nil,那么整个链就会调用失败