一、常规定义
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