可选链(Optional Chaining)

2019-07-16  本文已影响0人  曹来东
class Car {
    var price = 0
}
class Dog {
    var weight = 0
}
class Person {
    var name: String = ""
    var dog: Dog = Dog()
    var car: Car? = Car()
    func age() -> Int {
       return 18
    }
    func eat() {
        print("Person eat")
    }
    func getName() -> String {
       return "jack"
    }
}
var person: Person? = Person()
var age1 = person!.age()//Int
var age2 = person?.age()//Int?
var name = person?.name// String?
var index = person?[6] // Int?
//如果person为nil,不会调用getName()
person?.name = getName()

if let _ = person?.eat() {//()?
    print("eat 调用成功")
}else{
    print("eat 调用失败")
}

var dog = person?.dog //Dog?
var weight = person?.dog.weight // Int?
var price = person?.car?.price // Int?

上一篇 下一篇

猜你喜欢

热点阅读