Swift基礎1.5——基本語法——集合

這一篇,簡單介紹一下Swift中的數組與字典

  • 數組使用 [] 定義,這一點與 OC 相同
//: [Int]
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  • 遍歷
// 順序遍歷數組
for s in array1 {
    print(s)
}

// 遍歷同時獲取下標
for s in array1.enumerate() {
    print("\(s.index) \(s.element)")
}

// 遍歷同時獲取下標方法2
for (i, e) in array1.enumerate() {
    print("\(i) \(e)")
}

// 倒序遍歷數組
for s in array1.reverse() {
    print(s)
}

// 倒序同時獲取下標
for e in array1.reverse().enumerate() {
    print(e)
}
  • 可變&不可變
    • let 定義不可變數組
    • var 定義可變數組
let array = ["zhangsan", "lisi"]
//: 不能向不可變數組中追加內容
//array.append("wangwu")
var array1 = ["zhangsan", "lisi"]

//: 向可變數組中追加內容
array1.append("wangle")
  • 數組的類型
    • 如果初始化時,所有內容類型一致,擇數組中保存的是該類型的內容
    • 如果初始化時,所有內容類型不一致,擇數組中保存的是 NSObject
// array1 僅允許追加 String 類型的值
//array1.append(18)

var array2 = ["zhangsan", 18]
// 在 Swift 中,數字可以直接添加到集合,不需要再轉換成 `NSNumber`
array2.append(100)
// 如果向 數組添加 `CG` 結構體,需要使用 `NSValue` 轉換
array2.append(NSValue(CGPoint: CGPoint(x: 10, y: 10)))
  • 數組的定義和實例化
    • 使用 : 可以只定義數組的類型
    • 實例化之前不允許添加值
    • 使用 [類型]() 可以實例化一個空的數組
  • 數組的合併
    • 必須是相同類型的數組才能夠合併
    • 開發中,通常數組中保存的對象類型都是一樣的!

字典

  • 定義
    • 同樣使用 [] 定義字典
    • let 不可變字典
    • var 可變字典
    • [String : NSObject] 是最常用的字典類型
  • 遍歷
    • kv 可以隨便寫
    • 前面的是 key
    • 後面的是 value
for d in dict {
    print("\(d.0) \(d.1)")
}

// 遍歷
for (k, v) in dict {
    print("\(k) ~~~ \(v)")
}
  • 合併字典
    • 如果 key 不存在,會建立新值,否則會覆蓋現有值
//: 合併字典
var dict1 = [String: NSObject]()
dict1["nickname"] = "大曾"
dict1["age"] = 100

//: 如果 key 不存在,會建立新值,否則會覆蓋現有值
for (k, v) in dict1 {
    dict[k] = v
}
print(dict)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章