//: Playground - noun: a place where people can play
import UIKit
// 字典
// 创建一个空字典
// 我们可以像数组一样使用构造语法创建一个空字典:
//这个例子创建了一个Int, String类型的空字典来储存英语对整数的命名。它的键是Int型,值是String型。
var names = Dictionary<Int,String>();
// 现在包含了一个值
names[16] = "Enda";
// 又变成了一个空数组
names = [:];
// 定义一个字典
// airports字典被定义为一种 [String: String],它意味着这个字典的键和值都是String类型。
var airports:[String:String] = ["BJ":"BeiJing","SH":"ShangHai","GZ":"GuangZhou"];
//和数组一样,如果我们使用字面量构造字典就不用把类型定义清楚。airports的也可以用这种方法简短定义:
var airports2 = ["BJ":"BJ","sh":010];
// 读取和修改字典
// 数量
airports.count;
// 是否为空
if airports.isEmpty{
// 为空
}else{
// 不为空
}
// 添加数据
airports["JY"] = "Jy";
// 修改
airports["JY"] = "JieY";
//updateValue(forKey:)函数会返回包含一个字典值类型的可选值。举例来说:对于存储String值的字典,这个函数会返回一个String?或者“可选 String”类型的值。如果值存在,则这个可选值值等于被替换的值,否则将会是nil
airports.updateValue("Tai", forKey: "JY");
//我们也可以使用下标语法来在字典中检索特定键对应的值。由于使用一个没有值的键这种情况是有可能发生的,可选类型返回这个键存在的相关值,否则就返回nil
airports["XXX"]
// 删除
airports["JY"] = nil;
// 另外,removeValueForKey方法也可以用来在字典中移除键值对。这个方法在键值对存在的情况下会移除该键值对并且返回被移除的value或者在没有值的情况下返回nil
airports.removeValueForKey("BJ");
airports
for (key,value) in airports{
println("\(key) => \(value)");
}
// 单独循环key
for key in airports.keys{
println(key);
}
// 单独循环 value
for value in airports.values{
println(value);
}
// 单独取出key
let airKey = Array(airports.keys);
// 单独取出 value
let airValue = Array(airports.values);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。