iOS开发45-iOS Swift字典
//字典
//定义一个字典格式的变量-key:value,key:value
//使用初值去确定key和value的数据类型
//可以给不一样的数据类型
let dic1 = ["a":1,"b":2,2:"e"]
//提前指定key和value的类型
//如果字典先指定了key 和value的数据类型,则里面的Key和value的数据类型不能变化
<p class="p1"><span class="s1">var</span><span class="s2"> dict2 : </span><span class="s3">Dictionary</span><span class="s2"><</span><span class="s3">String</span><span class="s2">, </span><span class="s3">Int</span><span class="s2">> = [</span><span class="s4">"key1"</span><span class="s2">:</span><span class="s5">1</span><span class="s2">, </span><span class="s4">"key2"</span><span class="s2">:</span><span class="s5">2</span><span class="s2">]</span></p><p class="p2"><span class="s2">print</span><span class="s6">(</span><span class="s7">dict2</span><span class="s6">)</span></p>//也可以省略写
let dic2:[String : Int] = ["a":1,"e":2]
print(dic2)
//字典类型的变量
//创建一个字典变量 可以为nil
var dic3:[String:Int]?=["1":300]
//修改字典中的某个key对应的value
//使用的变量用了问号的修饰的话,使用此变量的时候要加一个感叹号,表示拆包
dic3!["1"] = 200
//创建一个空字典
var emptyDict = Dictionary<String, String>()
在创建字典的时候不知道要放什么类型的数据,也可以利用swift的类型推导功能在以后添加数据项的时候自动推导
var emptyDict2 = [ : ]
增加删除
//根据key值增加新项
var dict = ["key1":"value1" , "key2":"value2"]
dict["key3"] = "value3"
print(dict)
//根据key值修改项
dict["key1"] = "NOValue"
//updateValue方法
//如果key存在则更新key所对应的value,如果key不存在则新增一条记录。
dict.updateValue("123", forKey: "key4")
//移除
dict["key4"] = nil //赋值给nil就可以
dict.removeValueForKey("key1") //remove
//用removeAll方式来移除所有数据项
dict.removeAll()
遍历字典
var dict = ["key1" : "value1" , "key2" : "value2" , "key3" : "value3"]
for key in dict{
print(key)
}
for (key,value) in dict{
print("key is \(key) and value is \(value)")
}
for (key, _) in dict {
print(key)
}
for (_, value) in dict {
print(value)
}
//第一种直接打印出键值对的值
//第二种我们的条件里面写了一个元组,分别打印key和value
//第三种我们加了一个下划线,表示我们不关心第二项value的值,只要第一项,
//第四种方式即只关心value的值
var dict = ["key1" : "value1" , "key2" : "value2" , "key3" : "value3"]
for keys in dict.keys {
print(keys)
}
for values in dict.values {
print(values)
}
let keysArray = Array(dict.keys)
print(keysArray)