教程 swift tutorial

可选链(Optional Chaining)

可选链允许通过一连串可选值调用属性、方法或下标,如果其中任何一个为 nil,整个表达式返回 nil。

基本语法

使用 ? 连接可选类型的属性或方法调用:

swift
class Person {
    var residence: Residence?
}

class Residence {
    var numberOfRooms = 1
}

let john = Person()
let roomCount = john.residence?.numberOfRooms  // 返回 Int?,结果为 nil

`

调用方法

可选链也可用于调用返回值为可选的方法:

swift
class Residence {
    func printNumberOfRooms() -> Int {
        print("房间数量:\(numberOfRooms)")
        return numberOfRooms
    }
}

john.residence?.printNumberOfRooms()  // 方法不会被调用,返回 nil

链式调用

可选链支持多层链式访问:

swift
let address = john.residence?.address?.street

如果任意一层为 nil,整个表达式结果为 nil。

总结

可选链简化了多层可选值访问的代码,避免了大量的嵌套判断,使代码更简洁安全。