swift具体解释之八---------------下标脚本
2017-06-17 13:44
281 查看
swift具体解释之八—————下标脚本
下标脚本 能够定义在类(Class)、结构体(structure)和枚举(enumeration)这些目标中。能够觉得是訪问对象、集合或序列的快捷方式。不须要再调用实例的特定的赋值和訪问方法
关键字
下标脚本能够设定为 仅仅读 和 读写 相似于
以下看一个样例 :
下标脚本 能够传入多个參数 或者可变类型 。可是inout和默认參数不行 。
一个类或者结构体中能够有多个下标脚本 能够依据传入的參数类型进行区分
Matrix提供了一个两个入參的构造方法,入參各自是rows和columns。创建了一个足够容纳rows * columns个数的Double类型数组。
为了存储。将数组的大小和数组每一个元素初始值0.0。都传入数组的构造方法中来创建一个正确大小的新数组
你能够通过传入合适的row和column的数量来构造一个新的Matrix实例:
上例中创建了一个新的两行两列的Matrix实例。
在阅读顺序从左上到右下的Matrix实例中的数组实例grid是矩阵二维数组的扁平化存储:
示意图
grid = [0.0, 0.0, 0.0, 0.0]
col0 col1
row0 [0.0, 0.0,
row1 0.0, 0.0]
将值赋给带有row和column下标脚本的matrix实例表达式能够完毕赋值操作,下标脚本入參使用逗号切割
matrix[0, 1] = 1.5
matrix[1, 0] = 3.2
上面两条语句分别让matrix的右上值为 1.5,坐下值为 3.2:
[0.0, 1.5,
3.2, 0.0]
这个基本算官方的样例。
下标脚本 能够定义在类(Class)、结构体(structure)和枚举(enumeration)这些目标中。能够觉得是訪问对象、集合或序列的快捷方式。不须要再调用实例的特定的赋值和訪问方法
关键字
subscript
下标脚本能够设定为 仅仅读 和 读写 相似于
getter和
setter
//语法 subscript(index : Int) ->Int { get{ } set(newValue){ } }
以下看一个样例 :
struct Tables { var mul = 2; //仅仅读的下标脚本 subscript(index :Int)->Int{ return 2*index } }
let tb = Tables() print(tb[2]) //4
下标脚本 能够传入多个參数 或者可变类型 。可是inout和默认參数不行 。
一个类或者结构体中能够有多个下标脚本 能够依据传入的參数类型进行区分
struct Matrix { let rows: Int, columns: Int var grid: [Double] init(rows: Int, columns: Int) { self.rows = rows self.columns = columns grid = Array(count: rows * columns, repeatedValue: 0.0) } func indexIsValidForRow(row: Int, column: Int) -> Bool { return row >= 0 && row < rows && column >= 0 && column < columns } subscript(row: Int, column: Int) -> Double { get { assert(indexIsValidForRow(row, column: column), "Index out of range") return grid[(row * columns) + column] } set { assert(indexIsValidForRow(row, column: column), "Index out of range") grid[(row * columns) + columns] = newValue } } }
Matrix提供了一个两个入參的构造方法,入參各自是rows和columns。创建了一个足够容纳rows * columns个数的Double类型数组。
为了存储。将数组的大小和数组每一个元素初始值0.0。都传入数组的构造方法中来创建一个正确大小的新数组
你能够通过传入合适的row和column的数量来构造一个新的Matrix实例:
var matrix = Matrix(rows: 2, columns: 2)
上例中创建了一个新的两行两列的Matrix实例。
在阅读顺序从左上到右下的Matrix实例中的数组实例grid是矩阵二维数组的扁平化存储:
示意图
grid = [0.0, 0.0, 0.0, 0.0]
col0 col1
row0 [0.0, 0.0,
row1 0.0, 0.0]
将值赋给带有row和column下标脚本的matrix实例表达式能够完毕赋值操作,下标脚本入參使用逗号切割
matrix[0, 1] = 1.5
matrix[1, 0] = 3.2
上面两条语句分别让matrix的右上值为 1.5,坐下值为 3.2:
[0.0, 1.5,
3.2, 0.0]
这个基本算官方的样例。
相关文章推荐
- Swift2-0基础_Subscripts(下标脚本)
- Swift2.0语言教程之下标脚本
- Swift-下标脚本和继承(Subscripts and Inheritance)(十一)
- unity脚本运行顺序具体的解释
- swift基础笔记6-方法&下标脚本
- Swift基础(六):属性、方法、下标脚本
- Linux(centos 6.5) 调用java脚本以及定时运行的脚本实例及配置文件具体解释
- 简读The Swift Programming Language官方文档--下标脚本 Subscripts
- Swift2.0语言教程之下标脚本
- swift 下标脚本
- Swift 中的下标脚本
- Swift入门教程10-subscript下标脚本
- Swift学习- 下标脚本(十二)
- Swift- 2.12下标脚本
- Swift - 下标脚本方法介绍及实例
- Swift 下标脚本(Subscripts)
- 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承
- Swift的属性,方法,下标脚本以及继承
- IOS开发语言Swift入门连载---下标脚本
- 11--swift之下标脚本