在Swift中,类、结构体和枚举都是支持下标语法的。
什么是下标语法?使用过数组、字典的朋友都见过array[index]。通过这样的方式可以设置数据和取数,会很方便也很简洁。你可以给一个类定义多个下标,也可以在一个下标中定义一个或多个参数。
下标的关键字是subscript,常用格式如下:
- subscript(index: Int) -> Int {
- get {
- // return an appropriate subscript value here
- }
- set(newValue) {
- // perform a suitable setting action here
- }
- }
下面我们以数组为例,给大家介绍下标的创建和使用。
- /// array结构体
- struct TestArray {
-
- /// 内部数组
- var array = Array<Int>()
-
- // MARK: 下标使用
- subscript(index: Int) -> Int {
- get {
- assert(index < array.count,"下标越界")
- return array[index]
- }
- set {
- while array.count <= index {
- array.append(0)
- }
- array[index] = newValue
- }
- }
- }
-
- var array = TestArray()
- array[3] = 4; // 通过下标设置值
- print("\(array[3])") // 4
- print("\(array[4])") // 程序停止
其他
参考资料
The Swift Programming Language (Swift 2.1)
文档修改记录
时间 | 描述 |
---|---|
2015-10-30 | 根据 The Swift Programming Language (Swift 2.1)中的Subscripts总结 |