swift字典
这用来存储无序的相同的类型数据的集合,字典里的每个值(value)都关联唯一的键(key),键作为字典中这个值数据的标识符。
字典中的数据项并没有具体顺序,需要通过标识符(键)访问数据。
key没有类型限制,但必须是唯一的。
如果创建一个字典并赋值给变量,则字典是可以修改的(添加,删除,修改),如果赋值给常量,则不可修改。
创建字典
var someDict = [KeyType: ValueType]()
var someDict = [Int: String]()
var someDict: [Int:String] = [1:"One",2:"Two"]
访问字典
//根据索引来访问数组元素
var someVar = someDict[key]
修改字典
使用updateValue(forKey:)增加或更新字典的内容。如果key不存在,则添加值,如果存在则修改key对应的值。此方法返回Optional值。
var someDict:[Int:String] = [1:"One"]
//注意返回Optional值
var oldVal = someDict.updateValue("One新的值",forKey: 1)
//也可以通过指定的key进行修改,也是返回Optional值
someDict[1] = "One新新的值"
移除Key-Value对
使用removeValueForKey()方法。如果key存在方法返回移除的值,如果不存在返回nil。
someDict.removeValue(forKey: 1)
//也通过指定键的值为nil来移除键值对
someDict[2] = nil
遍历字典
可以使用 for-in 循环进行遍历
for (key,value) in someDict {
print("key \(key) - value \(value)")
}
//也可以使用enumerate()方法来遍历字典,返回的是字典的索引及键值对
for (key, value) in someDict.enumerated(){
print("key \(key) - 键值对 \(value)")
}
字典转换为数组
let dictKeys = [Int](someDict.keys)
let dictValus = [String](someDict.values)
print("输出字典的键")
for (key) in dictKeys {
print("\(key)")
}
print("输出字典的值")
for (value) in dictValues{
print("\(value)")
}