【Swift学习】Swift编程之旅---Subscripts下标(十六)

  类、结构体和枚举能够定义下标,他能够快速简单地访问集合(set,array,dict)的元素,你能够使使用下标来获取和设置集合元素。 你能够定义一个类型的多个下标,经过索引值类型的不一样来进行重载,并且索引值的个数能够是多个。app

 

  语法ui

  先看一个实例spa

subscript(index: Int) -> Int {
    get {
        // return an appropriate subscript value here
    }
    set(newValue) {
        // perform a suitable setting action here
    }
}

它容许你经过在实例后面的方括号中传入一个或者多个的索引值来对实例进行访问和赋值。语法相似于实例方法和计算型属性的混合。与定义实例方法相似,定义下标使用subscript关键字,显式声明入参(一个或多个)和返回类型。与实例方法不一样的是下标能够设定为读写或只读。这种方式又有点像计算型属性的getter和setter:code

 

newValue的类型必须和subscript定义的返回类型相同。与计算型属性相同的是set的入参声明newValue就算不写,在set代码块中依然能够使用默认的newValue这个变量来访问新赋的值。
 
与只读计算型属性同样,能够直接将本来应该写在get代码块中的代码写在subscript中:
subscript(index: Int) -> Int { 
    // 返回与入参匹配的Int类型的值 
} 
相关文章
相关标签/搜索