字典是將鍵 key 映射到值 value 的類型。 1. Dictionary 由 key 與 value 所組成,各 element 以逗號 , 區隔 2. Dictionary 以 key 來搜尋相對應的 value 3. Dictionary 中的 element 沒有次序關係 4. Dictionary 若以 var 宣告,可新增修改除集合資料的 element。 宣告 Dictionary:var name:Dictionary
Dictionary 以 Dictionary= ["first":"Rob", "last":"Hsu"] var name:[String: String] = ["first":"Rob", "last":"Hsu"] var name =["first":"Rob", "last":"Hsu"] 來宣告,這裡 T1, T2 表示泛型 Generic Type,T1 是 key,而 T2 是 value。 宣告 empty dictionary: var name = Dictionary
清空Dictionary name: name = [:] 新增、修改、刪除 Dictionary 之 element dictionaryName[key] = value 新增: name["second"] = "Mary" // name = ["first":"Rob", "last":"Hsu", "sechond":"Mary"] 修改: name["first"] = "John" name.updateValue("Wang", forKey:"Rob") // name = ["first":"Rob","last":"Wang"] name["first"] = nil // name = ["last":"Hsu"] 刪除: name["first"] = nil // delete name.removeValueForKey("Rob") Getter / Setter: println(name["Bob"]) 將 value 轉換為指定的 data type: (1) 將 String 轉換為 Int 類型的值: var dict1 = ["key1":"10", "key2":"20"] var num1:Int? = dict1["key1"]?.toInt() (2) 將原本是 Int 的 NSObject 值轉換為 Int 類型的值: var dict2 = ["key1":"10", "key2":20] var num2:Int = dict2["key2"] as Int (3) 將原本是 String 的 NSObject 値轉換為 Int 類型的值: var dict2 = ["key1":"10", "key2":20] var num3:Int? = (dict2["key1"] as? String)?.toInt() Dictionary Iteration: 與 Array 不同,Dictionary 有兩個集合,所以 iteration 可以針對 key 或 value 操作。 enum 字典中的 key 與 value:() var name = [String: String]() for (key, value) in dictName { ... }
或是for key in dictName.keys { ... }
for value in dictName.values { ... }
當 Dictionary 類型變成 NSDictionary 時,可先將其轉成 Dictionary:for key in (dictName as Dictionary).keys { ... }
var dict2 = ["key1":"10", "key2":20] for key in (dict2 as Dictionary).keys { println(key) } 將 key 與 value 轉換成 Array: var dict1 = ["key1":"10", "key2":"20"] let keys = Array(dict1.keys) let values = [String](dict1.values)
prettyprint
2015年8月11日 星期二
【Swift 筆記 Draft】第 3 講(2):字典 Dictionary
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言