Swift可选链

//可选链测试

class Person{

    var residence:Residence!

    var name:String

    init(name:String){

        self.name = name

    }

}

///住宅

class Residence {

    var residenceNum = 101

}

 

var lucy = Person(name: "Lucy")

//没有为lucy初始化住宅

if let roomNumber1 = lucy.residence?.residenceNum {

    print("\(lucy.name)有住宅,住宅号是\(roomNumber1)")

}else{

    print("\(lucy.name)没有住宅")

}

 

var lily = Person(name: "Lily")

lily.residence = Residence()

if let roomNumber2 = lily.residence?.residenceNum {

    print("\(lily.name)有住宅,住宅号是\(roomNumber2)")

}else{

    print("\(lily.name)没有住宅")

}

 

//1.可选链的访问方式:将强制解析的感叹号换成?,在隐式解析的后面也添加?后缀

//2.可选链会自动判断程序访问的关联实例是否为nil

posted on 2016-05-26 18:32  Sweet小马  阅读(190)  评论(0编辑  收藏  举报

导航