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() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |