您的位置:首页 > 移动开发 > Swift

Swift—下标-备

2016-05-03 10:46 381 查看
看下面的示例代码是不是使用过:

var studentList: String[] = ["张三","李四","王五"]

studentList[0] = "诸葛亮"

var studentDictionary = [102: "张三",105: "李四", 109: "王五"]

studentDictionary[110] = "董六"

在访问数组和字典的时候,可以采用下标访问。其中数组的下标是整数类型索引,字典的下标是它的“键”。

下标

Swift中的下标相当于Java中的索引属性和C#中的索引器。

下标访问的语法格式如下:

<span style="font-family:Courier;color:windowtext;font-size: 8pt; mso-ascii-font-family: Courier; mso-hansi-font-family: Courier; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt;"><span style="font-family:宋体;">面</span></span>向对象类型 类型名 {

其他属性

...

subscript(参数: 参数数据类型) -> 返回值数据类型 {

get {

return 返回值

}

set(新属性值) {

...

}

}

}

下标也有类似于计算属性的getter和setter访问器。

getter访问器是一个方法,在最后使用return语句将计算结果返回。

setter访问器“新属性值”是要赋值给属性值。参数的声明可以省略,系统会分配一个默认的参数newValue。

示例:二维数组

在Swift中没有提供二维数组,只有一维数组Array。可以自定义一个二维数组类型,然后通过两个下标参数访问它的元素,形式上类似于C语言的二维数组。

采用下标的二维数组示例代码如下:

struct DoubleDimensionalArray { //定义了二维数组结构体

let rows: Int, columns: Int //存储属性rows和columns

var grid: [Int]

init(rows: Int, columns: Int) { //构造函数

self.rows = rows

self.columns = columns

grid = Array(count: rows * columns, repeatedValue: 0) //初始化存储属性grid

}

subscript(row: Int, col: Int) -> Int { //定义下标

get {

return grid[(row * columns) + col]

}

set (newValue1){

grid[(row * columns) + col] = newValue1

}

}

}

var ary2 = DoubleDimensionalArray(rows: 10, columns: 10) //创建并初始化10×10大小的二维数组

//初始化二维数组

for var i = 0; i < 10; i++ {

for var j = 0; j < 10; j++ {

ary2[i,j] = i * j

}

}

//打印输出二维数组

for var i = 0; i < 10; i++ {

for var j = 0; j < 10; j++ {

print("\t \(ary2[i,j])")

}

print("\n")

}

输出结果如下:

0 0 0 0 0 0 0 0 0 0

0 1 2 3 4 5 6 7 8 9

0 2 4 6 8 10 12 14 16 18

0 3 6 9 12 15 18 21 24 27

0 4 8 12 16 20 24 28 32 36

0 5 10 15 20 25 30 35 40 45

0 6 12 18 24 30 36 42 48 54

0 7 14 21 28 35 42 49 56 63

0 8 16 24 32 40 48 56 64 72

0 9 18 27 36 45 54 63 72 81
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: