1. 程式人生 > >swift學習:下標指令碼

swift學習:下標指令碼

定義:
下標指令碼 可以定義在類(Class)、結構體(structure)和列舉(enumeration)這些目標中,可以認為是訪問物件、集合或序列的快捷方式,不需要再呼叫例項的特定的賦值和訪問方法。

舉例來說,用下標指令碼訪問一個數組(Array)例項中的元素可以這樣寫 someArray[index] ,訪問字典(Dictionary)例項中的元素可以這樣寫 someDictionary[key]。

對於同一個目標可以定義多個下標指令碼,通過索引值型別的不同來進行過載,而且索引值的個數可以是多個。

舉個例子:
語法類似於例項方法和計算型屬性的混合。

與定義例項方法類似,定義下標指令碼使用subscript關鍵字,顯式宣告入參(一個或多個)和返回型別。

與例項方法不同的是下標指令碼可以設定為讀寫或只讀。這種方式又有點像計算型屬性的getter和setter:

struct subexample {
    let decrementer: Int
    subscript(index: Int) -> Int {
        return decrementer / index
    }
}
let division = subexample(decrementer: 100)

print("100 除以 9 等於 \(division[9])")
print("100 除以 2 等於 \(division[2])")
print("100 除以 3 等於 \(division[3])")
print("100 除以 5 等於 \(division[5])")
print("100 除以 7 等於 \(division[7])")