Swift 基礎(chǔ)筆記 - 字典

字典

  • 定義
    • 同樣使用 [] 定義字典
    • let 不可變字典
    • var 可變字典
/*
    OC定義字典:
        NSDictionary *dict = @{key1: value1, key2: value2, ...};
    swift定義字典:
        var 數(shù)組名 = [key1: value1, key2: value2, ...]
    let 不可變
    var 可變
*/

//: 定義字典
var dict1 = ["name": "liudehua", "age": 54]    //[String : NSObject]
var dict2 = ["name": "liudehua", "nickName": "huazai"]   //: [String : String]

  • 定義空字典
var dict4 = [NSString: Int]()
var dict5: [NSString: Int] = [:]
字典的遍歷
//: 遍歷字典的所有key
for n in dict1.keys {
  print(n)
//    print(dict1[n])
}
//: 遍歷字典所有value
for k in dict1.values {
  print("k === \(k)")
}
//: 遍歷字典
for n in dict6 {
//    print(n)
//    print(n.0)
//    print(n.1)
}
//: 開發(fā)中用的最多的遍歷字典的方式
//: k, v 可以隨便寫,前面是 key,后面是 value
for (k, v) in dict1 {
  print(k + "--- \(v)")
}
//: 跳過不關(guān)心的值
for (_, v) in dict1 {
  print("對key不關(guān)心--- \(v)")
}
  • 字典常用操作

    • 賦值直接使用dict[key] = value格式
    • 如果key不存在,會設(shè)置新值
    • 如果key存在,會覆蓋現(xiàn)有值
 var dict7 = ["name": "zhangsan", "age": 12]
//: 訪問字典中的元素
dict7["name"]

//: 當字典的key存在時,修改字典中的元素
dict7["age"] = 15
dict7
//: 當字典的key不存在時,會新增key和value
dict7["title"] = "king"
dict7

//: 刪除字典中指定的key和對應(yīng)的value
var dict8 = ["name": "zhangsan", "age": 13, "height": 1.74]
dict8.removeValueForKey("age")
dict8

//: let修飾的字典不能改變 cannot assign through subscript: 'dict9' is a 'let' constant
let dict9 = ["name": "zhangsan", "age": 15, "height": 1.74]
//dict9["name"] = "lisi"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容