nsdictionary也是我們oc中十分常用的乙個類.大體的建立形式和我之前講過的其它類一樣.我們這裡,簡單介紹它的建立方法,主要看一下他的儲存和讀取.
一.建立
單純建立物件,建立包含乙個或者多個元素的字典的方法如下:
一.常用方法
- (nsuinteger)count 返回字典的 key 數
-(bool)isequaltodictionary:(nsdictionary *)otherdictionary 比較兩個字典
-(bool)writetofile:(nsstring *)path atomically:(bool)useauxiliaryfile 將乙個 nsdictionary 持久化到儲存到檔案中去
-(nsarray *)allkeys 返回所有的 key
-(nsarray *)allkeysforobejct:(id)anobject 返回 anobject 元素對應的所有 key
-(nsarray *)allvalues 返回所有的 value
-(id)objectforkey:(id)akey 根據 akey 返回對應的 value
-(nsarray *)objectforkeys:(nsarray *)keys notfoundmarkker:(id)marker 返回 keys 對應的所有 value, 如果沒有對應的 alue,用 market代替
以上的方法中,我們現在有更簡單的方法來代替這種方法比如:
儲存的方法:
dict[@"key"] = value;
讀取的方法:
nsstring *value = dict[@"key"];
二.字典的基本使用
三.字典的遍歷(1)for-in迴圈,快速遍歷
(2)- (nsenumerator *)keyenumerator key 的迭代器
(3)- (nsenumerator *)objectenumerator calue 的迭代器
(4)block遍歷:
dict enumeratekeysandobjectsusingblock:^(id _nonnull key, id _nonnull obj, bool * _nonnull stop)
我們可以看到上邊的方法,大部分還是和我之前在 nsarray 中講到的是類似的. 這裡就是迭代器的使用要說明下.
先來看字典的遍歷for-in:
迭代器的使用:
block的迭代使用:
四.字典使用注意
字典在儲存的視乎要也別注意,不能賦值為 nil, 否則的話導致程式奔潰
黑馬程式設計師
asp.net android ios開發 net培訓 期待與您交流!map hashtable 底層是雜湊表資料結構,不可以存入null鍵和null值。該執行緒是同步的,jdk1.0出現,效率低。hashmap 底層是雜湊表資料結構,允許使用null鍵和null值。該集合執行緒是不同步的,將has...
黑馬程式設計師
1.了解反射 反射 就是通過class檔案物件,去使用該檔案中的成員變數,構造方法,成員方法。person p new person p.使用 要想這樣使用,首先你必須得到class檔案物件,其實也就是得到class類的物件。2.反射中的類 class類 成員變數 field類 構造方法 const...
黑馬程式設計師
黑馬程式設計師 j a基礎學習筆記2 一 筆記內容概述 關鍵字 識別符號 注釋 注釋的應用 常量 進製的由來 進製轉換 負數的進製 變數的介紹 變數的基本演示 型別提公升 強制轉換 字元型別運算過程 型別運算細節 算術運算子 賦值運算子。二 常用內容介紹 1.注釋內容不占用記憶體,即使新增再多的注釋...