码迷,mamicode.com
首页 > 编程语言 > 详细

SWIFT——字典(dictionary)

时间:2015-10-29 16:17:20      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

1、字典的创建和初始化

2、创建空的字典

3、添加、修改和删除字典中的数据

4、根据key获取value

5、将value转换为特定的类型

6、枚举字典中的key和value

7、将key和value转换为数组

 

1 var employee1:Dictionary<String,String> = ["name":"bill","company":"Microsoft"]
2 println(employee1)          //[company:Microsoft,name:bill]按照首字母顺序排序的。
3 
4 var employee2 = ["name":"John","company":"Oracle","age":32]//不指定类型的情况下,可以设置为其它类型,比如integer
5 println(employee2);

技术分享

 1 var dict1 = ["product_name":"ice cream","price":5.5]
 2 println(dict1)         //price ="5.5; "product_name" = "ice cream",把5.5转换成了字符串。如果使用整数,在输出仍会保持整数。
 3 
 4 var dict = Dictionary<Int, String>()         //创建一个空字典
 5 dict[20]="hello world"             //没有20是填加,有20是修改。
 6 println(dict)      //[20:hello world]
 7 
 8 dict = [:]            //清空数组,key类型是int,value类型是string
 9 
10 dict[21]="abcd"
11 dict[20]="xyz"
12 println(dict)          //[20:xyz,21:abcd]
13 
14 if let oldValue = dict.updateValue("飞机“,forkey:21)      //如果字典里有21,就会返回以前的值,如果没有21,就返回nil。在swift语句,if后面没有圆括号。
15 {
16       println("旧的值是\(oldValue)")     //旧的值是abcd
17 }
18 println(dict)                                    //[20:xyz,21:飞机]
19 println(dict.count)                          //2
20 
21 let age1:Int = employee2["age"] as Int //age是unexpected
22 println(age1);                                 //32
23 
24 if let age2:int? = (employee2["age"]as? Int)//如果这个age不存在,那么将返回nil,但是int不能存nil,所以后加?      //这里输出32,如果改成employee2["age1"],则返回不存在这个key.
25 {
26        println(age2)        
27 }
28 else
29 {
30        println("在字典中不存在这个key")       
31 }
 1 dict[20] = nil            //直接删除字典中的某一个key,对应value也同时被删除。key和value总是成对出现的。
 2 println(dict)           //[21:飞机]   20已经被删除
 3 
 4 let oldValue = dict.removeValueForKey(21)  //返回21对应的value
 5 println(oldValue)     //  飞机
 6 
 7 //枚举字典中的key和value
 8 for (key, value) in employee1
 9 {
10         println("\(key):\(value)");    
11 }
12 
13 for key in employee1.keys
14 {
15        println(key)
16 }
17 
18 for key in employee2.keys      //错误 ,employee2是隐式声明dict,所以会找不到keys
19 {
20 }
21 //转换一下
22 for key in (employee2 as Dictionary).keys
23 {
24       println(key)    
25 }
26 
27 for value in employee1.values
28 {
29        println(value)
30 }
31 dict[22] = "abc"
32 let keys = Array(dict.keys)
33 println(keys)  //[22]
34 
35 let values = Array(dict.values)
36 println(values)       //[abc]

 

SWIFT——字典(dictionary)

标签:

原文地址:http://www.cnblogs.com/zhuzhubjtu/p/4920685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!