NSMutableDictionary簡單細(xì)說(二)—— 創(chuàng)建和初始化

版本記錄

版本號 時間
V1.0 2017.08.28

前言

NSMutableDictionary是可變字典乔宿,相對NSDictionary來說,它是可變的框沟,它的可變性可以參考NSMutableArray數(shù)組六水,但是它與數(shù)組還是有很大不同,盡管他們都屬于集合類凰盔,下面這幾篇我們繼續(xù)來將一下基礎(chǔ)類的知識墓卦。還是老規(guī)矩從整體到局部,從淺入深進(jìn)行講解户敬,謝謝大家落剪。感興趣的可以參考我寫的上篇幾篇。
1. NSMutableDictionary簡單細(xì)說(一)—— 整體了解

一尿庐、+ (instancetype)dictionaryWithCapacity:(NSUInteger)numItems;

該方法的作用是:創(chuàng)建并返回一個可變字典忠怖,最初給它足夠的分配內(nèi)存來保存給定數(shù)量的條目。

下面看一下返回值:

  • return:一個新的可變字典屁倔,具有足夠的分配內(nèi)存來保存numItems條目脑又。

這里還要注意:

  • 可變字典根據(jù)需要分配額外的內(nèi)存,所以numItems只是建立對象的初始容量。

看示例代碼

- (void)demoDictionaryWithCapacity
{
    NSMutableDictionary *dictM = [NSMutableDictionary dictionaryWithCapacity:10];
    NSLog(@"dictM = %@", dictM);
}

看輸出結(jié)果

2017-08-28 22:08:19.381 JJOC[4977:124658] dictM = {
}

結(jié)論:創(chuàng)建初始容量的字典问麸。


二往衷、- (instancetype)initWithCapacity:(NSUInteger)numItems;

該方法的作用:和上面方法作用是一樣的。

還需要注意:

  • 可變字典根據(jù)需要分配額外的內(nèi)存严卖,所以numItems只是建立對象的初始容量席舍。該方法是NSMutableDictionary的指定的初始化程序。

看示例代碼

- (void)demoInitWithCapacity
{
    NSMutableDictionary *dictM = [[NSMutableDictionary alloc] initWithCapacity:10];
    NSLog(@"dictM = %@", dictM);
}

看輸出結(jié)果

2017-08-28 22:13:42.779 JJOC[5240:128879] dictM = {
}

結(jié)論:實(shí)例化初始容量的字典哮笆。


三来颤、- (instancetype)init;

這個沒什么說的,所有對象的初始化方法都可以這么寫稠肘。

結(jié)論:簡單到爆福铅。


四、+ (NSMutableDictionary<KeyType,ObjectType> *)dictionaryWithSharedKeySet:(id)keyset;

該方法的作用就是:創(chuàng)建一個經(jīng)過優(yōu)化的可變字典项阴,用于處理已知的一組鍵滑黔。

其實(shí)這個方法我們前面說NSDictionary的時候涉及到過,我們當(dāng)時用類方法sharedKeySetForKeys:獲取一組共享的key环揽。

下面我們看參數(shù)和返回值:

  • keyset:keyset由NSDictionary類創(chuàng)建的方法sharedKeySetForKeys :略荡。如果keyset為零,則會出現(xiàn)異常歉胶。 如果keyset不是sharedKeySetForKeys:返回的對象汛兜,則會引發(fā)異常。
  • return:一個新的可變字典針對已知的一組鍵進(jìn)行了優(yōu)化通今。

還需注意:

  • 不在key集中key仍可以在字典中設(shè)置粥谬,但這種用法不是最佳的。

結(jié)論:共享鍵值的使用衡创。

后記

未完帝嗡,待續(xù)~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晶通,一起剝皮案震驚了整個濱河市璃氢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狮辽,老刑警劉巖一也,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異喉脖,居然都是意外死亡椰苟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門树叽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來舆蝴,“玉大人,你說我怎么就攤上這事〗嗾蹋” “怎么了层皱?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長赠潦。 經(jīng)常有香客問我叫胖,道長,這世上最難降的妖魔是什么她奥? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任瓮增,我火速辦了婚禮,結(jié)果婚禮上哩俭,老公的妹妹穿的比我還像新娘绷跑。我一直安慰自己,他們只是感情好凡资,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布你踩。 她就那樣靜靜地躺著,像睡著了一般讳苦。 火紅的嫁衣襯著肌膚如雪带膜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天鸳谜,我揣著相機(jī)與錄音膝藕,去河邊找鬼。 笑死咐扭,一個胖子當(dāng)著我的面吹牛芭挽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蝗肪,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼袜爪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了薛闪?” 一聲冷哼從身側(cè)響起辛馆,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎豁延,沒想到半個月后昙篙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诱咏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年苔可,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袋狞。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡焚辅,死狀恐怖映屋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情同蜻,我是刑警寧澤秧荆,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站埃仪,受9級特大地震影響乙濒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卵蛉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一颁股、第九天 我趴在偏房一處隱蔽的房頂上張望莺丑。 院中可真熱鬧黔姜,春花似錦、人聲如沸管怠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至泛释,卻和暖如春滤愕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背怜校。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工间影, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人茄茁。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓魂贬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親裙顽。 傳聞我的和親對象是個殘疾皇子付燥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容