国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Swift > 正文

詳解Swift中的下標訪問用法

2020-03-09 17:48:13
字體:
來源:轉載
供稿:網友

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

下標的語法結構

 下標使用subscript來定義,其有些類似于方法,參數和返回值本別作為下標入參和通過下標所取的值。但是在subscript實現部分,又十分類似于計算屬性,其需要實現一個get塊和可選實現一個set塊,get塊用于使用下標取值,set塊用于使用下標設置值,因此,subscript結構更像是計算屬性和方法的混合體,示例如下:

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
開發者可以只編寫get塊來實現只讀的下標訪問。對于多維下標的訪問方式,只需修改subscript中的參數個數即可,示例如下:
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

下標的特性

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

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()//通過二維下標取值data[1,1]


注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南充市| 吉安县| 湖北省| 铜梁县| 密山市| 内丘县| 柞水县| 扶沟县| 阜新| 靖宇县| 定结县| 报价| 蛟河市| 颍上县| 会同县| 尼木县| 金川县| 邵阳县| 渝北区| 虞城县| 同江市| 新疆| 蒲城县| 沭阳县| 商水县| 苗栗市| 衡东县| 松江区| 买车| 珲春市| 思南县| 牙克石市| 张家口市| 昌宁县| 武清区| 宁河县| 普定县| 江山市| 沾益县| 肥东县| 屏山县|