Swift 可選鏈(Optional Chaining)是一種簡化訪問嵌套對象屬性的方法。它允許你在查詢一個對象的屬性時,如果該屬性不存在(即值為 nil),可以直接返回 nil,而不需要顯式地檢查每個屬性是否為 nil。這可以讓代碼更簡潔、易讀。
可選鏈的基本語法是使用問號(?)操作符連接對象和屬性,例如:object?.property
。如果 object
為 nil,整個表達式將返回 nil;否則,它將返回 object.property
的值。
下面是一個簡單的示例,說明如何使用可選鏈簡化操作:
假設我們有以下類定義:
class Person {
let name: String
let address: Address?
}
class Address {
let street: String
let city: String
}
在沒有可選鏈的情況下,我們需要編寫額外的代碼來檢查屬性是否為 nil:
let person = Person(name: "John", address: nil)
if let address = person.address, let street = address.street {
print("Street: \(street)")
} else {
print("Address is nil or street is nil")
}
使用可選鏈,我們可以簡化這段代碼:
if let street = person.address?.street {
print("Street: \(street)")
} else {
print("Address is nil or street is nil")
}
在這個例子中,如果 person.address
為 nil,整個表達式將直接返回 nil,因此不需要顯式地檢查 address
是否為 nil。這使得代碼更簡潔,同時保持了相同的功能。