码迷,mamicode.com
首页 > 其他好文 > 详细

第21章 字典(Dictionary)

时间:2015-06-08 09:47:22      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:字典   dictionary   ios   swift   遍历   

如果你想要存储一个项目并想通过一个唯一的键引用该项目,你可以使使用字典。数组中的项目都是有序的,而字典中的项目则是无需的。然而,你可以通过你加入字典时提供的那个key来访问该项目。要创建一个对象,你既要指定键的数据类型,也要指定值得数据类型。如下所示:

vard1:Dictionary<String, Int>

在上面代码中,d1声明为一个字典,其key为String类型, 值为Int型,在你添加项目之前,需要对字典进行初始化:
d1 = Dictionary()

有时,你声明一个字典并使用一个字典字面常量来初始化该字典。一个字典字面常量是一个具有固定的键值对的常量字典。如下:

var webPages =[1:"http://site/home", 2:"http://site/blog",3:"http://site/contact"]

上面代码中创建了一个名为webPages的字典,使用整型值为key并存储字符串类型的网页地址作为值

引用字典项目

要引用字典中的一个项目,你需要在字典名字之后,使用[]包裹一个键值,如下所示:

var webPages =[1:"http://site/home", 2:"http://site/blog",3:"http://site/contact"]
let blogPage = webPages[2]

在上例中,常量blogPage的值为http://site/blog ,因为2这个键指向字符串http://site/blog

 

更新字典项目

要更新字典中的某一项,你需要先获取该项的引用,然后通过赋值运算符为该项提供一个新的值,如下所示:

webPages[1] ="http://site/home/a"

在这个例子中,你在中括号中提供一个键并通过赋值改变网页的地址。键为其他数据类型(如字符串、浮点型)的字典也可以采用这种方式改变某项的值,如下:

var d2:Dictionary= ["a":"AAAA", "b":"BBBB"]
var d3:Dictionary = [1.1:"AAAA", 1.2:"BBBB"]
d2["a"] = "AAAAaaaa"
d3[1.2] = "BBBBbbbb"

上述代码中,使用字符串类型的键访问d2字典的某一项并改变该项的值,同时也是用浮点型数作为键并改变d3字典某一项的值

要从数组中移除某个项,只需要将该项的值更新为nil就可以了。还有另一种方式,就是调用removeValueForKey()函数,如下:

d2["b"]= nil
d2.removeValueForKey("a")

在上例中,使用removeValueForKey()函数从d2字典中移除了键为a的那一项

遍历字典

要遍历字典的每一项,需要使用for-in循环语句(见第22章),你会在循环中获取键和值得引用,如下:

for (key, value)in d3{
println("key:\(key), value:\(value)")
}

这个循环语句会打印出:

key:1.10000002384186,value:AAAA
key:1.20000004768372, value:BBBBbbbb

如果你只需要遍历键(key),你可以访问字典的key属相,如下:

for key ind3.keys{
println("key:\(key)")
}
上述循环会打印:
key:1.10000002384186
key:1.20000004768372

第21章 字典(Dictionary)

标签:字典   dictionary   ios   swift   遍历   

原文地址:http://blog.csdn.net/ls1194/article/details/46407685

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