【Swift初见】Swift数组
来源:互联网 发布:java实现pdf文件下载 编辑:程序博客网 时间:2024/05/16 11:48
在Objective-C中数组是常用的数据类型,在Swift中同样如此,在OC中有NSArray与NSMutableArray之分,但是在Swift中只有通过let和var来区分数组是否可变,Swift中的数组是类型安全的,所以在某个数据被存入到某个数组之前类型必须明确,假如我们创建了一个String类型的数组,那么该数组中就不能添加非String的数据类型,这是Swift与OC的一个很重要的区别。
数组的构造
我们以创建一个数组并存储Int类型的数组为例:
数组的数量:数组有一个只读属性 count来获取数组中的数据项数量。
检查数组是否为空可以用isEmpty来检查count是否为0
当要在数组后面添加新的数据项时可以使用append方法来添加:
此时数组中就有5个值了,
当数组的数据类型为字符串时,也可以使用加法赋值运算符(+=)直接在数组的后面添加新的数据项;
加法运算符也可以直接添加拥有相同类型的数组:
获取数组中数据项的时候,可以用索引来获取值:
注:不管是OC还是Swift,数组的索引都是从0开始。
修改数组中的某一项时,也可以通过索引来改变:
此时数组就为:[9, 3, 4, 5, 6, 7, 8]
swift中也可以通过下标一次性改变多个数据值:
此时数组值就是:[9, 10, 11, 12, 6, 7, 8]
在数组尾部添加新项时,不能使用下标来添加新项,此时数组越界,会引发一个运行期错误。
在某个具体索引值之前添加数据项,调用数组的insert(atIndex)来添加:
此时的数组值为:[13, 9, 10, 11, 12, 6, 7, 8]
同样的,移除数组的某一项时用removeAtIndex 方法;
移除最后一项的时候用removeLast
数组遍历
普遍的我们使用for-in循环来遍历数组中的所有数据项
swift提供一个enumerate函数来遍历数组,会同时返回数据项和索引值:
此时打印的值为:
index : 0 value: 13
index : 1 value: 9
index : 2 value: 10
index : 3 value: 11
index : 4 value: 12
index : 5 value: 6
index : 6 value: 7
index : 7 value: 8
如果我们需要创建一个数组,该数组有特定的大小并且所有的数据都是被默认的,此时swift提供了一个数组构造函数:
当然,swift具有类型推断功能,我们也可以如下定义:
我们知道,两种数据项类型相同的数组我们可以通过(+)来组合到一起形成一个新的数组:
欢迎大家共同学习指导。
数组的构造
我们以创建一个数组并存储Int类型的数组为例:
var array = [2, 3, 4, 5]var array1: Array = [2, 3, 4, 5]var array2: Array<Int> = [2, 3, 4, 5]var array3: [Int] = [2, 3, 4, 5]
数组的数量:数组有一个只读属性 count来获取数组中的数据项数量。
array.count
检查数组是否为空可以用isEmpty来检查count是否为0
if array.isEmpty { println("array is Empty")}else{ println("array is not Empty")}
当要在数组后面添加新的数据项时可以使用append方法来添加:
array .append(6)
此时数组中就有5个值了,
当数组的数据类型为字符串时,也可以使用加法赋值运算符(+=)直接在数组的后面添加新的数据项;
加法运算符也可以直接添加拥有相同类型的数组:
array += [7,8]
获取数组中数据项的时候,可以用索引来获取值:
var intV = array[0]
注:不管是OC还是Swift,数组的索引都是从0开始。
修改数组中的某一项时,也可以通过索引来改变:
array[0] = 9
此时数组就为:[9, 3, 4, 5, 6, 7, 8]
swift中也可以通过下标一次性改变多个数据值:
array[1...3] = [10,11,12]
此时数组值就是:[9, 10, 11, 12, 6, 7, 8]
在数组尾部添加新项时,不能使用下标来添加新项,此时数组越界,会引发一个运行期错误。
在某个具体索引值之前添加数据项,调用数组的insert(atIndex)来添加:
array.insert(13, atIndex: 0)
此时的数组值为:[13, 9, 10, 11, 12, 6, 7, 8]
同样的,移除数组的某一项时用removeAtIndex 方法;
移除最后一项的时候用removeLast
数组遍历
普遍的我们使用for-in循环来遍历数组中的所有数据项
for i in array { println(i)}
swift提供一个enumerate函数来遍历数组,会同时返回数据项和索引值:
for (index, value) in enumerate(array){ println("index : \(index) value: \(value)")}
此时打印的值为:
index : 0 value: 13
index : 1 value: 9
index : 2 value: 10
index : 3 value: 11
index : 4 value: 12
index : 5 value: 6
index : 6 value: 7
index : 7 value: 8
如果我们需要创建一个数组,该数组有特定的大小并且所有的数据都是被默认的,此时swift提供了一个数组构造函数:
var newArray = [String](count: 4, repeatedValue: "test")
当然,swift具有类型推断功能,我们也可以如下定义:
var newArray2 = Array(count: 3, repeatedValue: "today")
我们知道,两种数据项类型相同的数组我们可以通过(+)来组合到一起形成一个新的数组:
var newArray3 = newArray + newArray2
欢迎大家共同学习指导。
5 0
- 【Swift初见】Swift数组
- 【Swift初见】Swift数组(二)
- Swift初见
- Swift 初见
- Swift初见
- Swift初见
- swift初见
- Swift初见
- swift初见
- 【Swift初见】Swift字典
- 【Swift初见】Swift继承
- 【Swift初见】Swift闭包
- 【Swift初见】Swift结构体
- 【Swift初见】Swift构造过程
- Swift学习:1.2 Swift初见
- swift之初见
- 【Swift初见】SourceKitService Terminated
- swift语言初见
- Apache服务器的设置与优化
- 一步步实现cnblogs博客采集工具
- 回车键和ESC键的处理
- Starling 使用报错 Stage3D环境设置
- 经验总结41--方法的可选参数
- 【Swift初见】Swift数组
- Linux下PhpMyAdmin程序目录的安全管理
- IOS文本自适应高度
- AspNetPager.dll 分页
- 自定义PHP分页函数
- 前端常用框架技术
- samba服务配置
- 技术服务
- 售前演示应该怎么做?