16.2 Swift可选链

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

/**

16.2-可选链介绍

*/

class Person {

var name = ""

func whoami() -> String {

print("My name is \(name)")

return name

}

init(name: String) {

self.name = name

}

}

var p0: Person?

var p1: Person = Person.init(name: "Tom")

p1.name = "zhangsan"

p1.whoami()

/**

可选链跟我们的可选类型有着直接的关系。

那么到底什么是可选链呢?

其实就是通过可选类型的变量来调用相应的属性或者方法等。

*/

// 通过可选类型来调用相应的属性或者方法等。

p0?.name = "Lisi"

p0?.whoami()

// 强制解包,不要直接这样子,不安全

// p0!.name = "Lisi"

// 这样子就安全了,这就叫隐式解包

if let t: Person = p0 {

t.name = "Lisi"

t.whoami()

}

// 也可以这么来判断

if p0 != nil {

p0!.name = "Lisi"

p0!.whoami()

}

// p0 = p1

/**

可选链的方式,如果p0没有值,那么可选链会失效,不会崩溃,所以是安全的

判断p0有值,则调用,没有值就不调用

*/

p0?.name = "Lisi"

p0?.whoami()

原文链接:https://www.f2er.com/swift/322345.html

猜你在找的Swift相关文章