亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Swift中的下標(biāo)訪問用法

 更新時間:2016年07月05日 18:47:52   作者:琿少  
在Swift中我們可以用subscript函數(shù)來定義下標(biāo),從而通過下標(biāo)來訪問數(shù)組與字典等數(shù)據(jù)結(jié)構(gòu),這里我們就來詳解Swift中的下標(biāo)訪問用法:

Swift中的Array,Dictionary類型可以通過下標(biāo)或者鍵值的方式來進行數(shù)據(jù)的訪問,實際上在Swift的語法中,下標(biāo)可以定義在類、結(jié)構(gòu)體、枚舉中。開發(fā)者可以通過下標(biāo)的方式來對屬性進行訪問而不用使用專門的存取方法。并且定義的下標(biāo)不限于一維,開發(fā)者可以定義多維的下標(biāo)來滿足需求。

下標(biāo)的語法結(jié)構(gòu)

 下標(biāo)使用subscript來定義,其有些類似于方法,參數(shù)和返回值本別作為下標(biāo)入?yún)⒑屯ㄟ^下標(biāo)所取的值。但是在subscript實現(xiàn)部分,又十分類似于計算屬性,其需要實現(xiàn)一個get塊和可選實現(xiàn)一個set塊,get塊用于使用下標(biāo)取值,set塊用于使用下標(biāo)設(shè)置值,因此,subscript結(jié)構(gòu)更像是計算屬性和方法的混合體,示例如下:

class MyClass {
  var array=[1,1,1,1,1]
  subscript(param1:Int)->Int{
    set{
      array[param1] = newValue
    }
    get{
      return array[param1]
    }
  }
}
var obj = MyClass()
obj[0] = 3

開發(fā)者可以只編寫get塊來實現(xiàn)只讀的下標(biāo)訪問。對于多維下標(biāo)的訪問方式,只需修改subscript中的參數(shù)個數(shù)即可,示例如下:
class MyClass {
  var array=[1,1,1,1,1]
  subscript(param1:Int,param2:Int)->Int{
    set{
      array[param1] = newValue
    }
    get{
      return array[param1]
    }
  }
}
var obj = MyClass()
obj[0,1] = 3

下標(biāo)的特性

Swift中的下標(biāo)可以自定參數(shù)個數(shù)和參數(shù)類型,返回數(shù)據(jù)的類型開發(fā)者也可以進行自定義。但是有一點需要注意,下標(biāo)的參數(shù)不能設(shè)置默認(rèn)值,也不能設(shè)置為in-out類型。多維下標(biāo)常用語行列數(shù)據(jù)的訪問,示例如下:

class SectionAndRow {
  var array:Array<Array<Int>> = [ [1,2]
                  ,[3,4]
                  ,[5,6]
                  ,[7,8]
                 ]
  subscript(section:Int,row:Int)->Int{
    get{
      let temp = array[section]
      return temp[row]
    }
  }
  
}
var data = SectionAndRow()
//通過二維下標(biāo)取值
data[1,1]

相關(guān)文章

  • Swift 中如何使用 Option Pattern 改善可選項的 API 設(shè)計

    Swift 中如何使用 Option Pattern 改善可選項的 API 設(shè)計

    這篇文章主要介紹了Swift 中如何使用 Option Pattern 改善可選項的 API 設(shè)計,幫助大家更好的進行ios開發(fā),感興趣的朋友可以了解下
    2020-10-10
  • Swift?reduce函數(shù)使用示例詳解

    Swift?reduce函數(shù)使用示例詳解

    這篇文章主要為大家介紹了Swift?reduce函數(shù)使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Swift運算符使用方法淺析

    Swift運算符使用方法淺析

    Swift 語言支持大部分標(biāo)準(zhǔn) C 語言的運算符,并且改進了許多特性來使我們的代碼更加規(guī)范,其中主要包含算數(shù)運算符、區(qū)間運算符、邏輯運算符、關(guān)系運算符、賦值運算符、自增自減運算符、溢出運算符等
    2022-09-09
  • 詳解Swift編程中的常量和變量

    詳解Swift編程中的常量和變量

    這篇文章主要介紹了Swift編程中的常量和變量,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • Swift中閉包實戰(zhàn)案例詳解

    Swift中閉包實戰(zhàn)案例詳解

    接觸過Swift的小伙伴對“閉包”應(yīng)該不陌生,相當(dāng)于OC中的Block,是Swift語法中比較難理解的一塊。下面這篇文章主要介紹了關(guān)于Swift中閉包實戰(zhàn)的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • swift4.0實現(xiàn)視頻播放、屏幕旋轉(zhuǎn)、倍速播放、手勢調(diào)節(jié)及鎖屏面板等功能實例

    swift4.0實現(xiàn)視頻播放、屏幕旋轉(zhuǎn)、倍速播放、手勢調(diào)節(jié)及鎖屏面板等功能實例

    這篇文章主要給大家介紹了關(guān)于swift4.0實現(xiàn)視頻播放、屏幕旋轉(zhuǎn)、倍速播放、手勢調(diào)節(jié)及鎖屏面板等功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • Swift編程中的switch...case語句實例解析

    Swift編程中的switch...case語句實例解析

    這篇文章主要介紹了Swift編程中的switch...case語句實例解析,其中重點還是對于fallthrough關(guān)鍵字用法的講解,需要的朋友可以參考下
    2016-04-04
  • OpenStack的Swift組件詳解

    OpenStack的Swift組件詳解

    這篇文章主要介紹了OpenStack的Swift組件,對swift感興趣的同學(xué),可以參考下
    2021-04-04
  • Swift編程之枚舉類型詳解

    Swift編程之枚舉類型詳解

    這篇文章主要介紹了Swift編程之枚舉類型,講解了枚舉語法、匹配枚舉值與switch語句、關(guān)聯(lián)值、原始值等內(nèi)容,Swift中枚舉類型是最重要的類型,感興趣的小伙伴們可以參考一下
    2016-02-02
  • mac git xcrun error active developer path 錯誤

    mac git xcrun error active developer path 錯誤

    本文主要是講訴了如何解決在mac下使用git;xcode4.6的環(huán)境時,出現(xiàn)了錯誤(mac git xcrun error active developer path)的解決辦法,希望對大家有所幫助
    2014-09-09

最新評論