iOS swift-字典

Swift中的字典類型是Dictionary,泛型集合。var修飾是可變字典,let修飾時(shí)可變字典?

聲明字典類型:

var dict1: Dictionaryvar dict2: [Int: String]??

初始化:必須進(jìn)行初始化才能使用

var dict1: Dictionary= Dictionary()?

// 定義一個(gè)可變字典

var dict3 : [String : NSObject] = [String : NSObject]()

// 定義字典的同時(shí)進(jìn)行初始化

let dict4 = ["name" : "xiaosan", "age" : 18]?

// 類型推導(dǎo)出 [String : NSObject] 類型

// swift中任意對(duì)象,通常不使用NSObject,使用AnyObjectvar?

dict5 : Dictionarydict5 = ["name" : "dd", "age" : 18]

字典的基本操作

// 字典的操作

var dict : [String : AnyObject] = [String : AnyObject]()

dict = ["age" : 18, "height" : 1.74, "name" : "xiaocan"]

// 添加數(shù)據(jù)

dict["weight"] = 60.0

// 刪除數(shù)據(jù)

dict.removeValueForKey("age")

// 修改字典

dict["name"] = "xiaoer"

dict["age"] = 18? // 如果沒(méi)有這個(gè)鍵,則為添加數(shù)據(jù)

// 查詢

dict["name"]

字典的遍歷

// 遍歷字典中所有的值

for value in dict.values {

print(value)

}

// 遍歷字典中所有的鍵

for key in dict.keys {

print(key)

}

// 遍歷所有的鍵值對(duì)

for (key, value) in dict {

print(key)

print(value)

}

字典的合并

var myDict1 = ["name" : "xiaosan", "age" : 20]

var myDict2 = ["height" : 1.77, "address" : "taikang"]

// 字典不可以相加合并? ? 另外類型不同也不能合并

for (key, value) in myDict1 {

myDict2[key] = value

}

removeValueForKey && updateValue(forKey:)

字典的updateValue(forKey:) 方法去設(shè)置或者更新一個(gè)特定鍵的值,如果鍵不存在則會(huì)設(shè)置它的值,如果鍵存在則會(huì)更新它的值, 和下標(biāo)不一樣是, updateValue(forKey:) 方法如果更新時(shí),會(huì)返回原來(lái)舊的值rThis enables you to 可以使用這個(gè)來(lái)判斷是否發(fā)生了更新。

var dict = ["name" : "siri", "age" : 18, "address" : "nanjing"]

iflet oldValue = dict.updateValue("Siri", forKey: "name") {

print(oldValue)? // siri

}

//使用下標(biāo)語(yǔ)法把他的值分配為nil,來(lái)移除這個(gè)鍵值對(duì)。

dict["age"] = nil

print(dict)? // ["address": nanjing, "name": Siri]

使用removeValueForKey方法,如果存在鍵所對(duì)應(yīng)的值,則移除一個(gè)鍵值對(duì),并返回被移除的值,否則返回nil。

if let removedValue = dict.removeValueForKey("address") {

print("The remove dict's adddress is \(removedValue)") // The remove dict's adddress is nanjing

} else {

print("The dict does not contain a value for address")

}

參考:http://www.cnblogs.com/10-19-92/p/5627619.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容