swift 集合類型(二)

說到swift的集合類型,就不得不談到Dictionary。包含一個鍵值對組合的集合。json

var air =  ["name":"warner","title":"Math"]
var air = Dictionary<String,String>(minimumCapacity:3)

均可以初始化Dictionary。在swift中,Dictionary實際上是一個結構:struct,繼承自Collection。而Collection是一種協議protocol。他們都不是Objectswift

Dictionary有subscript聲明,因此能夠直接使用下標來獲取或者設置key的value。數組

air["son"] = "edward"

像上面這種經過下標來指定value的寫法,若是存在該key,則直接改寫value,不然,新增這個key-value pairs。另外,還提供了比較雞肋的一種改變value的方法:函數

air.updateValue("andrew", forKey: "son")

與以前的直接經過下標修改value的做用是同樣的。blog

 

同時,也能夠經過下標的形式來移除對應的key繼承

air["son"] = nil

上面的寫法,會直接把son這個key從Dictionary中移除。另外,也能夠經過removeValueForKey方法來移除ip

air.removeValueForKey("son")

結果同樣的。ci

 

遍歷整個數據集合的方法與數組相似:rem

        for (key,val) in air{
            println("\(key):\(val)")
        }

  
Dictionary還有2個比較有意思的屬性,能夠直接以數組形式拿到整個Dictionary的keys和valuesit

        for key in air.keys{
            println("\(key)")
        }
        for val in air.values{
            println("\(val)")
        }

  

總結:

1)Dictionary與json似是而非。經過構造函數初始化必須指定key與value的數據類型,不然值就得指定至少一對key-value pairs。用來肯定這個Dictionary的數據類型。

2)能夠經過下標來肯定對應的key,用來增長或者刪除pairs.

3)能夠直接拉取整個dictionary的keys或者values,來做爲數組操做。

4)能夠使用removeAll方法來清空整個Dictionary.

相關文章
相關標籤/搜索