Swift语法 -- [13 - 可选链]

2020-10-27  本文已影响0人  happy神悦

可选链是一个调用和查询可选属性、方法和下标的过程,它可能为 nil 。如果可选项包含值,属性、方法或者下标的调用成功;如果可选项是 nil ,属性、方法或者下标的调用会返回 nil 。多个查询可以链接在一起,如果链中任何一个节点是 nil ,那么整个链就会得体地失败。


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")
    }
    subscript(index: Int) -> Int {
        return index

    }
}

var person: Person? = Person()
var age1 = person!.age() // Int
var age2 = person?.age() // Int?
var name = person?.name // String?
var index = person?[6] // Int?

func getName() -> String { return "jack" }
// 如果person是nil,不会调用getName()
person?.name = getName()

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

上一篇下一篇

猜你喜欢

热点阅读