Swift提供两种类型的集合,一种是数组Array,另外一种是字典Dictionary,他们之间的共同点是都是用来存储相同类型的数据,不同点是数组中存放的数据是有序的,二字典中存放的数据时无序的。字典还具有两外一个特性,就是字典中所存储的数据是键值对(key
- value)形式存在。
这里主要写一下Swift中数组类型使用
一、数组类型定义
想定义其他变量或者常量一样,如果我们在Swift中定义一个数据,也可以通过类型标注指定他的类型。在Swift中,数组类型有两种写法:
// 一是完整版: var colorArray : Array<String> = ["red","blue","green"] //另外一种是简化版 var colorArray1 : [String] = ["red", "blue", "green"] // 可以使用推导来声明数组 var colorArray2 = ["red", "blue","green"] var integerArray = [1,2,3] /* 注:1、我们在定义数组时,指定数组中的数据类型,我们必须统一存放该类型数组 2、我们在定义数组时,不指定数组中的数据类型,则数组默认为anyObject类型。 */
二、我们在定义数组时可以不指定数组类型:
var inferList = ["eggs",123,true] for item in inferList { println("inferList contain item : \(item)") }
需要指出的是这种情况下产生的数组时NSArray的数组。
判断数组是否为空,Swift中数组为空判断可以直接调用isEmpty方法
if inferList.isEmpty { println("inferList为空") }else{ println("inferList不空") }
也可以采用数组元素个数进行判断:
if inferList.count == 0 { println("inferList为空") }else{ println("inferList不空") }
三、swift提供两种方法为数组添加元素
第一种:通过调用数组的内嵌方法(append)为数组添加新元素
inferList.append("hello")
第二种:通过加法赋值运算符来为当前数组添加新元素
inferList += ["你好"]
/*
第二种方法更为强大的是可以进行批量添加,批量添加的数组只能存放一种数据类型
inferList += ["红茶","绿","黑茶"]
*/
四、修改数组元素
swift中修改数组中元素可以先通过数组名+方括号+下标的方式来获取数组中某个元素的值
如
获取inferList第一个元素
var firseItem = inferList[0]
修改具体元素的值
inferList[0] = "egg"
Swift提供了批量修改数组元素的功能
inferList[4...6] = ["呵呵","嘿嘿"] /* 这种情况下,4、5元素被修改,6及以后元素被移除,若不移除则 <span class="s1" style="font-family: Arial, Helvetica, sans-serif;">inferList</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">[</span><span class="s3" style="font-family: Arial, Helvetica, sans-serif;">4</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">...</span><span class="s3" style="font-family: Arial, Helvetica, sans-serif;">6</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">] = [</span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s5" style="font-family: Arial, Helvetica, sans-serif;">呵呵</span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">, </span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s5" style="font-family: Arial, Helvetica, sans-serif;">哈哈</span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">, </span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s5" style="font-family: Arial, Helvetica, sans-serif;">嘻嘻</span><span class="s4" style="font-family: Arial, Helvetica, sans-serif;">"</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">]</span> */
五、 为数组插入、移除元素
Swift中通过调用insert(atIndex:)方法在数组的任意指定位置插入一个新的元素
inferList.insert("insertElements", atIndex: 0)
Swift中通过调用removeAtIndex方法移除指定位置元素,其他元素自动前移
inferList.removeAtIndex(0)
第一个位置"insertElements"被移除
也可以使用removeLast(),移除最后一个元素
inferList.removeLast()
最后一个元素"黑茶"被移除
六、数组遍历
在Swift中数组遍历一共有两种方法:
1、通过for in 循环快速遍历数组
for item in inferList { println(item) }
2、通过enumerate全局函数来便利数组,这个函数将会将数组中的元素作为一个类型为(index,value)元祖返回
for (var (index,value)) in enumerate(inferList) { println("item : \(index), value : \(value)") }
版权声明:本文为博主原创文章,未经博主允许不得转载。