2、NSDictionary(字典)
//创建空字典
let emptyDictionary = Dictionary<String, Float>()
// 字典被定义为 Dictionary<String, Int> ,这意味着这个字典的键是 String类型和值是Int类型
var airports: Dictionary<String,Int> = ["1":3, "2": 4]
println(airports)
// 和数组一样,构造字典就也可以不用把类型定义清楚(Swift 的类型推断)
var airportsDic = ["3":1,"4":6]
println(airportsDic)
// 使用下标语法来改变 key 对应的值:
if let airportname = airportsDic["3"]
{
println("\(airportname)")
}
//获得key对应的值
let airstr = airportsDic["4"]
println("\(airstr)")
//删除并获得删除key对应的值
if let oldValue = airportsDic.removeValueForKey("3") {
println("this is \(oldValue).")
}
// 使用 for-in循环来遍历字典中的键值对。字典中的每一个元素都由(key, value)组成,可以使用临时常量或者变量来分解他们:
for (airportkey, airportvalue) in airports {
println("\(airportkey):\(airportvalue)")
}
// 通过访问字典的 keys或者 values 属性(都是可遍历的集合)遍历字典的键或值:
for airportkey in airports.keys {
println("airportvalue code:\(airportkey)")
}
for airportvalue in airports.values {
println("Airport name:\(airportvalue)")
}
// 如果需要使用字典的键集合或者值集合来作为 Array构造器的参数 ,可以直接使用 keys或者 values 属性:
let airportKeyArray = Array(airports.keys)
let airportKeyValuesArray = Array(airports.values)
// 类似于数组,如果上下文中已经提供了类型信息,使用 [:](中括号中放一个冒号)创建一个字典,那么它的类型是明确了的:
var namesDic = Dictionary<Int,String>()
namesDic[16] ="sixteen"
namesDic = [:]