16.7 Swift基于多层链接的可选链

前端之家收集整理的这篇文章主要介绍了16.7 Swift基于多层链接的可选链前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

/**

16.7-基于多层链接的可选链

单层链接 a?.属性

多层链接 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")


*/

猜你在找的Swift相关文章