詳解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
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è)計,幫助大家更好的進行ios開發(fā),感興趣的朋友可以了解下2020-10-10swift4.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-01mac git xcrun error active developer path 錯誤
本文主要是講訴了如何解決在mac下使用git;xcode4.6的環(huán)境時,出現(xiàn)了錯誤(mac git xcrun error active developer path)的解決辦法,希望對大家有所幫助2014-09-09