【Swift學習】Swift編程之旅---Subscripts下標(十六)

  類、結構體和枚舉能夠定義下標,他能夠快速簡單地訪問集合(set,array,dict)的元素,你能夠使使用下標來獲取和設置集合元素。 你能夠定義一個類型的多個下標,經過索引值類型的不一樣來進行重載,並且索引值的個數能夠是多個。app

 

  語法ui

  先看一個實例spa

subscript(index: Int) -> Int {
    get {
        // return an appropriate subscript value here
    }
    set(newValue) {
        // perform a suitable setting action here
    }
}

它容許你經過在實例後面的方括號中傳入一個或者多個的索引值來對實例進行訪問和賦值。語法相似於實例方法和計算型屬性的混合。與定義實例方法相似,定義下標使用subscript關鍵字,顯式聲明入參(一個或多個)和返回類型。與實例方法不一樣的是下標能夠設定爲讀寫或只讀。這種方式又有點像計算型屬性的getter和setter:code

 

newValue的類型必須和subscript定義的返回類型相同。與計算型屬性相同的是set的入參聲明newValue就算不寫,在set代碼塊中依然能夠使用默認的newValue這個變量來訪問新賦的值。
 
與只讀計算型屬性同樣,能夠直接將本來應該寫在get代碼塊中的代碼寫在subscript中:
subscript(index: Int) -> Int { 
    // 返回與入參匹配的Int類型的值 
} 
相關文章
相關標籤/搜索