08.Swift 字典

2016-02-01  本文已影响189人  Liwx

@(〓〓 iOS-Swift语法)[Swift 语法]


目录


字典的介绍


字典的初始化

// ----------------------------------------------------------------------------
// 1.字典的定义

// 1.1 不可变字典: 使用let修饰
// 如果[]存放的是元素,表示是数组
// 如果[]存放的是键值对,表示字典
let dict = ["name" : "liwx", "age" : 18, "height" : 1.88]

// 1.2 可变字典: 使用var修饰,存放的是键值对
var dictM = [String : AnyObject]()
// ???有疑问
var dict1: Dictionary<Int, String>
var dict2: [Int: String]
// 定时字典的同时,进行初始化
var dict = ["name" : "liwx", "age" : 18, "height" : 1.88]

// swift中任意对象,通常不使用NSObject,使用AnyObject
var dict : Dictionary<String, AnyObject>
dict = ["name" : "liwx", "age" : 18, "height" : 1.88]

字典的基本操作

// ----------------------------------------------------------------------------
// 2. 可变字典的基本操作

// 2.1 添加元素
// dict["weight"] = 70  // 错误写法: dict是不可变字典
dictM["weight"] = 70
dictM["name"] = "lll"   // 如果key已经存在,则修改key对应的value
dictM["age"] = 19

// 2.2 移除元素
dictM.removeValueForKey("age")


// 2.3 修改元素
// 注意:在修改字典中元素时,如果有找到对应的key,修改对应的value,如果没有找到的key,则添加对应的键值对
dictM["weight"] = 60
dictM["height"] = 1.89
dictM

// 2.4 使用key查询value
let height = dictM["height"]

字典的遍历

// ----------------------------------------------------------------------------
// 3.遍历字典

// 3.1 遍历字典中所有的key
for key in dictM.keys {
    print(key)
}

// 3.2 遍历字典中所有的value
for value in dictM.values {
    print(value)
}

// 3.3 遍历字典中所有的键值对 key/value
for (key,value) in dictM {
    print(key, value)
}

字典的合并


// ----------------------------------------------------------------------------
// 4.合并字典
// 注意: 相同类型的字典也是不可以相加合并
var dict1 = ["name" : "liwx", "age" : 18]
let dict2 = ["weight" : 70, "phoneNum" : "+86 110"]
// let resultDict dict1 + dict2 错误写法,字典不能用+号合并

for (key, value) in dict2 {
    dict1[key] = value
}
上一篇下一篇

猜你喜欢

热点阅读