//: 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);

enda
1k 声望84 粉丝