over 6 years ago

Array 型別語法

完整的 array 型別語法如下,Element 代表 array 內儲存值的型別。

Array<Element>

以下是比較簡單的寫法,也比較建議使用。

[Element]

Arrray 初始化

若沒有初始值的時候,宣告 array 時要先定義儲存值的型別,也可以直接帶入值自行判斷。

var array = [Int]()
var array = [1,2,3]

若已宣告的 array 變成空 array,一樣會是初始化時定義的型別。

var array = [Int]()
array = []

相加既有的 array 來宣告新的 array。

let array1 = [1,2,3]
let array2 = [1,2,3]
let array3 = array1 + array2

Array 的操作

計算數量

let array = [1,2,3]
array.count

是否為空 array

let array = [1,2,3]
array.isEmpty

加上新的值

var array = [1,2,3]
array.append(4)

透過 range 取得值

let array = [1,2,3,4,5]
let array1 = array[03]

Array 與 loop

透過 loop 取值

let array = [1,2,3]
for value in array {
    value
}

透過 loop 取得 index 與 value

let array = [1,2,3]
for (index, value) in array.enumerated() {
    index
    value
}

Set 型別語法

Set 型別語法如下,Element 代表 set 內儲存值的型別,與 array 不同,沒有簡短的寫法。

Set<Element>

Set 初始化

若沒有初始值的時候,宣告 set 時要先定義儲存值的型別,
也可以直接帶入值自行判斷,但需要宣告是 set 類型,避免跟 array 搞混,
若變成空 set 時,一樣會是初始化時的型別。

var set = Set<Int>()
var set: Set = ["1","2","3"]

Set 的操作跟 array 完全相同

Set 排序

Set 是一個沒有經過排序的 list,但可以透過 function 讓 set 排序。

let set: Set = [3,2,5,1]
for value in set.sorted() {
    value
}

Dictionary 型別語法

完整的 dictionary 型別語法如下,需定義 key 與 value 的型別。

Dictionary<key, value>

以下是比較簡單的寫法,也比較建議使用。

[key: value]

Dictionary 初始化

若沒有初始值的時候,宣告 dictionary 時要先定義儲存值的型別,
也可以直接帶入值自行判斷。

var d = [String: String]()
var d = ["first": "value"]

若已宣告的 dictionary 變成空 dictionary,一樣是初始化時的型別。

var d = ["first": "value"]
d = [:]

Dictionary 的操作

計算數量

let d = ["first": "value"]
array.count

是否為空 dictionary

let d = ["first": "value"]
d.isEmpty

更新 dictionary 的值,若更新的 key 不存在,會直接新增。

var d = [:]
d.updateValue("value", forKey: "second")

移除 value 的方法就是設為 nil,或是 remove value。

var d = ["first": "value", "second": "value"]
d["first"] = nil
d.removeValue(forKey: "second")

Dictionary 與 loop

透過 loop 取得 value 與 key。

var d = ["first": "value", "second": "value"]
for (key, value) in d {
    key
    value
}

透過 loop 取得 key。

var d = ["first": "value", "second": "value"]
for key in d.keys {
    key
}

透過 loop 取得 value。

var d = ["first": "value", "second": "value"]
for value in d.values {
    value
}

所有的 collection type 都是 value type

← iOS Swift : Basic Operators & String and Characters iOS Swift : Control Flow →