// 1.定义了三个类
class Person {
var name : String = ""
var dog : Dog?
}
class Dog {
var dogName : String = ""
var toy : Toy?
}
class Toy {
var price : Double = 0.0
func flying() {
print("飞盘正在flying")
}
}
// 2.创建三个对象
let p = Person()
p.name = "cdh"
let dog = Dog()
dog.dogName = "旺财"
let toy = Toy()
toy.price = 100
// 3.让对象之间产生关系(cdh拥有一个叫旺财的狗,这个狗有一个100块钱的玩具)
p.dog = dog
dog.toy = toy
2.1 从可选链中取值
需求:获取(cdh的旺财狗的玩具的价格)
取出的值为可选类型,因为可选链中有一个可选类型为nil,则返回nil
因此结果可能有值,可能为nil.因此是一个可选类型
// 4.获取(cdh的旺财狗的玩具的价格)
// 以下写法非常复杂, 需要多次 if 判断, 因此推出可选链
if let cdhDog = p.dog {
if let toy = cdhDog.toy {
let price = toy.price
}
}
// let price = p.dog!.toy!.price // �强制解包非常危险