詳解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]