一、常规定义
class Student{ var scores:Int[] = Array(count:5,repeatedValue:0) subscript(index:Int) -> Int{ get{ return scores[index]; } set{ scores[index] = newValue } } } var a = Student() a[0] = 1 a[1] = 2 println("a[0]:\(a[0]),a[1]:\(a[1])”)重点:
下标脚本允许任意数量的入参索引,并且每个入参类型也没有限制。下标脚本的返回值也可以是任何类型。下标脚本可以使用变量参数和可变参数,但使用写入读出(in-out)参数或给参数设置默认值都是不允许的。
class Student{ var scores:Int[] = Array(count:5,repeatedValue:0) subscript(indexs:Int...) -> Int[]{ get{ var values:Int[] = Array() for index in indexs { values.append(scores[index]) } return values } set{ var i = 0 for index in indexs{ scores[index] = newValue[i++] } } } } var a = Student() a[1,2,3] = [5,6,7] println(a[0,1,2,3,4])
Swift学习笔记十二:下标脚本(subscript),布布扣,bubuko.com
原文地址:http://blog.csdn.net/xbenlang/article/details/31787973