/**
16.7-基于多层链接的可选链
多层链接: d.c?.b.a?.tag
*/
class A {
var tag: String = ""
}
class B {
var a: A?
}
class C {
var b: B = B.init()
}
class D {
var c: C?
}
var d = D.init()
var c = C.init()
var a = A.init()
d.c = c
// 可选链
d.c?.b.a = a
d.c?.b.a?.tag = "bbbababbab"
print(d.c)
print(a)
print(d.c?.b.a)
/**
这就是通过可选链调用返回的都是可选值,无论是多层 还是单层。
*/
print(d.c?.b.a?.tag)
/**
Optional(swiftLearn15.TestVC6.(viewDidLoad () -> ()).(C #1))
swiftLearn15.TestVC6.(viewDidLoad () -> ()).(A #1)
Optional(swiftLearn15.TestVC6.(viewDidLoad () -> ()).(A #1))
Optional("bbbababbab")
*/