詳解Swift中的下標訪問用法。本站提示廣大學習愛好者:(詳解Swift中的下標訪問用法)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解Swift中的下標訪問用法正文
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]