黑馬程式設計師 NSDictionary

2022-09-10 15:12:36 字數 1298 閱讀 4413

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.注釋內容不占用記憶體,即使新增再多的注釋...