/**
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()
总结以上是内存溢出为你收集整理的16.2 Swift可选链全部内容,希望文章能够帮你解决16.2 Swift可选链所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)