Objective-C 語法之詞典對象的那些事兒
做過 Java 語言 或者 C 語言 開發的朋友應該很清楚 關鍵字 map 吧,它可以將數據以鍵值對兒的形式儲存起來,取值的時候通過 KEY 就可以直接拿到對應的值,非常方便。在 Objective-C 語言中 詞典對象就是做這個事情的,不過在同一個詞典對象中可以保存多個不同類型的數據,不像 Java 與 C 只能保存聲明的相同類型的數據,它的關鍵字為 NSDictionary 與 NSMutableDictionary 。閱讀過我之前文章的朋友應該從關鍵字的結構就可以看出這兩個的區別。很明顯前者為不可變詞典,或者為可變詞典。
1. 創建不可變詞典
[NSDictionary dictionaryWithObjectsAndKeys:..] : 使用鍵值對兒直接創建詞典對象,結尾必需使用 nil 標志結束。
[NSDictionary initWithObjectsAndKeys:..] : 使用鍵值對兒初始化詞典對象,結尾必需使用 nil 標志結束。
[dictionary count]: 得到詞典的長度單位。
[dictionary keyEnumerator]: 將詞典的所有 KEY 儲存在 NSEnumerator 中, NSEnumerator 很像 Java 語言 中的迭代器,使用快速枚舉可以遍歷詞典中所有儲存 KEY 值。
[dictionary objectEnumerator]: 將詞典的所有 value 儲存在 NSEnumerator 中 , 用法和上面差不多可用來遍歷 KEY 對應儲存的 Value 值。
[dictionary objectForKey:key]: 通過傳入 KEY 對象可以拿到當前 KEY 對應儲存的值。
2. 創建可變詞典對象
NSMutableDictionary 是 NSDictionary 的子類,所以繼承了 NSDictionary 的方法。
[NSMutableDictionary dictionaryWithCapacity:10] : 創建一個可變詞典初始指定它的長度為 10. ,動態的添加數據如果超過 10 這個詞典長度會自動增加,所以不用擔心數組越界。
[NSMutableDictionary initWithCapacity:10] : 只是初始化一個詞典的長度為 10 。
[dictionary setObject:@" 雨松 MOMO" forKey:@"name"] : 向可變的詞典動態的添加數據 ,這里的 key 是 name 值是雨松 MOMO 。如果詞典中存在這個 KEY 的數據則直接替換這個 KEY 的值。
[dictionary removeAllObjects..] : 刪除掉詞典中的所有數據。
[dictionary removeObjectForKey..] : 刪除掉詞典中指定 KEY 的數據 。
詞典類的存在就是為了解決在大量數據中查找方便,因為它是通過 key 直接找到 value 所以速度很快,避免一個個的遍歷尋找造成的效率低下,善用字典類會幫你的程序提速噢。 哇咔咔~ 晚安各位盆友們~
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
