Swift调用OC之NSDictionary

来源:互联网 发布:知善恶树 编辑:程序博客网 时间:2024/05/24 22:41

//*************************************

//

// Swift调用OCNSDictionary

//

// 1.NSArrayArray的互相转换

// 2.NSDictionary初始化

// 3.NSDictionary常用的属性和方法

//  --获得成员个数

//  --获取KeyValue组成的数组(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 =nsDict001asDictionary

for (key, value:AnyObject)inswiftDict002{

    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

 

//获取KeyValue组成的数组(swiftDictionary无此方法)

nsDict001.allKeys

nsDict001.allValues

 

//使用keysSortedByValueUsingComparator方法将key排序,获得新数组(swiftDictionary无此方法)

let sortKeys =nsDict005.keysSortedByValueUsingComparator({($0as String).compare($1as 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"]


0 0