//*************************************
//
// Swift调用OC之NSDictionary
//
// 1.NSArray与Array的互相转换
// 2.NSDictionary初始化
// 3.NSDictionary常用的属性和方法
// --获得成员个数
// --获取Key或Value组成的数组(swiftDictionary无此方法)
// --使用keysSortedByValueUsingComparator方法将key排序,获得新数组(swiftDictionary无此方法)
// --获得单一键值(swiftDictionary无此方法)
// --获得多个键值(swiftDictionary无此方法)
//
//*************************************
import Foundation
//************** 概 览 **************
let swiftDict001 : Dictionary<String, String>= ["key1":"value1","key2":"value2"]
let nsDict001 : NSDictionary= swiftDict001
nsDict001.allKeys //["key1", "key2"]
nsDict001.allKeysForObject("value1") //["key1"]
nsDict001.allValues //["value1", "value2"]
//NSDictionary转换为Dictionary后,在输出时需要指定成员类型为AnyObject类型--不指定,Swift也能识别..=.=
let swiftDict002 = nsDict001as Dictionary
for (key, value:AnyObject)in swiftDict002{
println("\(key):\(value)")
}
for (key, value) inswiftDict002 {
println("\(key):\(value)")
}
//========== NSDictionary初始化 ==========
let nsDict003 = NSDictionary(object:"value1", forKey: 001)
let nsDict004 = NSDictionary(objects: ["value1","value2"], forKeys: [001,002]) //一次性创建多个
let swiftDict003 = ["A":"value1","C":"value3","B":"value2"]
let nsDict005 = NSDictionary(dictionary:swiftDict003)
//========== NSDictionary常用的属性和方法 ==========
//获得成员个数
swiftDict002.count
nsDict001.count
//获取Key或Value组成的数组(swiftDictionary无此方法)
nsDict001.allKeys
nsDict001.allValues
//使用keysSortedByValueUsingComparator方法将key排序,获得新数组(swiftDictionary无此方法)
let sortKeys = nsDict005.keysSortedByValueUsingComparator({($0 as String).compare($1 as String)})
println("\(sortKeys)") //[A, B, C]---由小到大排序
//获得单一键值(swiftDictionary无此方法)
nsDict005.objectForKey("A")! //"value1"
nsDict005["A"]! //"value1"
//获得多个键值(swiftDictionary无此方法)
nsDict005.objectsForKeys(["A","D","B"],notFoundMarker: "NotFound") //["value1","NotFound", "value2"]