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 += ["你好"]
四、修改數組元素
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)")
}