1.可选项
- 如果可选项为nil,调用方法,下标,属性失败,结果为nil
- 如果可选项不为nil,调用方法,下标,属性成功,结果会被封装为可选项
- 如果结果本来是可选项,则不会再次包装
例子:
class Person {
var name: String
init() {
self.name = ""
}
}
var p: Person? = Person()
p?.name = "123"
var result1 = p?.name
print(result1)
p = nil
var result2 = p?.name
print(result2)2.可选链
多个?可以链接在一起,如果任何一个节点为nil,那么整个链接就会调用失败。
例子:
var scores = ["Jack": [86, 82, 84], "Rose": [79, 94, 81]]
var array = scores["Jack"]
array?[0] = 100
var array1:Array? = scores["Kate"]
array1?[3] = 200
print(array)
print(array1)上一篇文章:swift从入门到精通12-初始化
下一篇文章:swift从入门到精通14-协议