Swift笔记<十七>可选链的使用

可选链概念
  • 它的可选性体现于请求或调用的目标当前可能为空(nil)
  • 多次调用的被链接在一起形成一个链,如果任何一个节点为空(nil)将导致整个链失效
class Person {
    var dog :Dog?
}

class Dog {
    var name: String = "xx"
    var toy: Toy?
    func text() {
        print("text")
    }
    
}

class Toy{
    var price :Double = 0.0
    func jump() {
        print("玩具跳")
    }
}


let p = Person()
let d = Dog()
p.dog = Dog

let t = Toy()
d.toy = Toy

//如果可选链的结果是nil就代表调用失败(链条中间至少有一个环节断了)
// ()=Void != nil

let result = p.dog?.toy?.jump()
p.dog?.toy?.price = 10

let price = p.dog?.toy?.price


//中间有任何一个链断了,都会崩溃(!保证一定有值)
let p2 = p.dog!.toy!.price

你可能感兴趣的:(Swift笔记<十七>可选链的使用)