swift 基础笔记六(字典)

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

相关推荐