
在Swift中,Dictationary是管理键值对的对象。在Dictionary中,key是唯一的,value可以是相同的元素,并且Dictionary中的数据是无序的。Dictationary的内部结构图如下所示:
初始化// MARK: 初始化private func testinit() { // 空字典 var dict = [String:String]() dict = [:] dict = Dictionary() dict = Dictionary<String,String>() // 有元素的字典 dict = ["name":"阳君","qq":"937447974"] dict = Dictionary(dictionaryliteral: ("name","阳君"),("qq","937447974")) print("\(dict)")}相关属性
// MARK: 相关属性private func testPropertIEs() { let dict = ["name":"阳君","qq":"937447974"] print("count:\(dict.count)") // 有多个对元素 print("isEmpty:\(dict.isEmpty)") // 是否为空 // 获取所有key let keys = [String](dict.keys) print("keys:\(keys)") // 获取所有value let values = [String](dict.values) print("values:\(values)") print("startIndex:\(dict.startIndex)") // 首脚标 print("endindex:\(dict.endindex)") // 尾脚标}查找元素
// MARK: 查找元素private func testFindingObjects() { let dict = ["name":"阳君","qq":"937447974"] if let dictIndex = dict.indexForKey("name") { // 获取位置 let item = dict[dictIndex] // 根据位置获取键值对 print("key:\(item.0);value:\(item.1)") } let value = dict["name"] // 根据key提取Value print("value:\(value)") // 遍历输出 for (key,value) in dict { print("\(key): \(value)") } // 所有key输出 for key in dict.keys { print("key:\(key)") } // 所有value输出 for value in dict.values { print("value: \(value)") }}增加元素
// MARK: 增加元素private func testAdd() { var dict = ["name":"阳君","qq":"937447974"] // 如果没有则添加,有则修改 dict["language"] = "swift"}删除元素
// MARK: 删除元素private func testRemove() { var dict = ["name":"阳君","qq":"937447974"] let oldValue = dict.removeValueForKey("name")// 根据key删除,并返回删除的value print("\(oldValue)") // 先找到位置,然后根据位置删除 if let dictIndex = dict.indexForKey("qq") { let oldItem = dict.removeAtIndex(dictIndex)// 返回删除的元素对 print("key:\(oldItem.0);value:\(oldItem.1)") } dict.removeAll() // 删除所有元素}修改元素
// MARK: 修改元素private func testReplace() { var dict = ["name":"阳君","qq":"937447974"] // 如果没有则添加,有则修改 dict["name"] = "YangJun" // 修改 let oldValue = dict.updateValue("YangJun",forKey: "name") // 修改,并返回原来的value print("\(oldValue)")}排序
// MARK: 排序private func testSort() { let dict = ["name":"阳君","qq":"937447974","a":"1","b":"1"] // 排序主要只排序key或者value,然后借用Array的排序 // 排序key var array = dict.keys.sort({ str1,str2 in str1 < str2 }) array = dict.keys.sort(<) // 排序value array = dict.values.sort({ > print}) "\(array)"(// MARK: - 文件读和写)}文件读和写
privatetestReadingAnDWriting func // document目录() { let true documents:[String] = NSSearchPathForDirectorIEsInDomains(NSSearchPathDirectory.documentDirectory,NSSearchPathDomainMask.UserDomainMask,let) let docDirPath = documents.first! as path = (docDirPath "test.pList" Nsstring).stringByAppendingPathComponent(let) var url = NSURL(fileURLWithPath: path) "name" dict = ["阳君":"qq","937447974":// 写] as (dict true NSDictionary).writetofile(path,atomically: as) (dict true NSDictionary).writetoURL(url,atomically: // 读) as dict = NSDictionary(contentsOffile: path) as! Dictionary dict = NSDictionary(contentsOfURL: url)其他 参考资料时间 ! Dictionary}
Dictionary Structure Reference
The Swift Programming Language (Swift 2.1)
NSDictionary Class Reference
| 描述 | 2015-10-26 |
|---|---|
| 根据Swift2.1 NSDictionary的API总结 |
版权所有:http://blog.csdn.net/y550918116j
总结以上是内存溢出为你收集整理的Dictionary Programming Guide全部内容,希望文章能够帮你解决Dictionary Programming Guide所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)