iOS-NSDictionary and NSMutableDictionary

1.NSDictionary初始化

1)字典中元素是鍵值對,所以字典元素都是成對出現(xiàn)的,一個元素就是一對(有key和對應(yīng)的value)
2)鍵和值都是對象類型,鍵和值的類型可以不同
3)在字典中,不能出現(xiàn)相同的key,但可以出現(xiàn)相同的value,key的唯一性,這樣就能夠通過key唯一確定value

//NSDictionary創(chuàng)建

         //不可變字典:字典對象一旦創(chuàng)建完成后,字典成員不能夠被修改,增加和刪除
    NSDictionary *dictionary = @{@"key1":@"value1", @"key2":@"value2"};
    //常用//初始化不可變字典//字典中的元素是成對出現(xiàn)的郊霎,要有key和value//key:value
    #pragma mark 對象方法創(chuàng)建字典
    NSDictionary *dictionary1 = [[NSDictionary alloc] initWithDictionary:dictionary];
    //用其他字典初始化當前的字典對象
    //字典中的key和value可以是任意的oc類型//nil:字典的結(jié)束標志
    NSDictionary *dictionary2 = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1",
                            @"value2", @"key2", nil];
    //value在前key在后摩渺,成對出現(xiàn)//最常用
    #pragma mark 類方法創(chuàng)建字典
    NSDictionary *dictionary3 = [NSDictionary dictionaryWithDictionary:dictionary];
    NSDictionary *dictionary4 = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1",
                                 @"value2", @"key2", nil];

2.NSDictionary的操作
//字典中元素個數(shù)

    NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1",
                                  @"value2", @"key2", nil];
    //- (NSUInteger)count;
    //作用:字典中元素個數(shù)
    [dictionary count];

//根據(jù)key(索引)找value(值)

    //- (id)objectForKey:(id)aKey;
    //作用:根據(jù)key找對應(yīng)value
    [dictionary objectForKey:@"key1"];

//獲取字典中的所有的key

    //- (NSArray *)allKeys;
    //作用:獲取字典中所有的key
    //返回是一個數(shù)組
    [dictionary allKeys];

//獲取字典中所有的value

    //第一種寫法
    for (NSString *key in [dictionary allKeys]) {
        [dictionary objectForKey:key];
    }
    //第二種寫法
    - (NSArray *)allValues;

//獲取某個值value對應(yīng)的所有鍵key

    - (NSArray *)allKeysForObject:(id)anObject;

3.NSMutableDictionary

//可變字典初始化
    NSMutableDictionary *mutableDictionary = [[NSMutableDictionary alloc] init];//創(chuàng)建一個空
         //對象方法初始化一個空的字典
    NSMutableDictionary *mutableDictionary1 = [[NSMutableDictionary alloc] initWithCapacity:0];
    //類方法初始化一個空的字典
    NSMutableDictionary *mutableDictionary2 = [NSMutableDictionary dictionaryWithCapacity:0];

//向字典中添加元素(增加操作)

    NSDictionary *dic = @{@"height": @"183"};
    
    NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithCapacity:0];//創(chuàng)建一個空字典
    //- (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey;
    //作用:字典的末尾追加元素
    [dictionary setObject:@"chen chao" forKey:@"name"];
    [dictionary setObject:@"good teacher" forKey:@"info"];
    
    //- (void)addEntriesFromDictionary:(NSDictionary *)otherDictionary;
    //作用:字典末尾追加一個字典
    [dictionary addEntriesFromDictionary:dic];

//

//字典中元素的刪除(刪除操作)

    //創(chuàng)建一個空字典
    NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithCapacity:0];
   
    [dictionary setObject:@"chen chao" forKey:@"name"];
    [dictionary setObject:@"good teacher" forKey:@"info"];
    
    //- (void)removeObjectForKey:(id)aKey;
    //作用:根據(jù)key刪除對應(yīng)的元素
    [dictionary removeObjectForKey:@"info"];//常用
    
    //刪除所有的元素
    [dictionary removeAllObjects];

//字典中元素的修改

    NSDictionary *dic = @{@"height": @"183"};
    
    NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithCapacity:0];//創(chuàng)建一個空字典
    [dictionary setObject:@"chen chao" forKey:@"name"];
    [dictionary setObject:@"good teacher" forKey:@"info"];
    
    //- (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey;
    //作用:key值字典中已經(jīng)存在砰琢,進行覆蓋,如果不存在叶雹,追加
    [dictionary setObject:@"hot man" forKey:@"info"];
    
    //- (void)setDictionary:(NSDictionary *)otherDictionary;
    //作用:替換字典
    [dictionary setDictionary:dic];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市不撑,隨后出現(xiàn)的幾起案子圈匆,更是在濱河造成了極大的恐慌,老刑警劉巖格嗅,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件番挺,死亡現(xiàn)場離奇詭異,居然都是意外死亡屯掖,警方通過查閱死者的電腦和手機玄柏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贴铜,“玉大人粪摘,你說我怎么就攤上這事∩馨樱” “怎么了徘意?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長轩褐。 經(jīng)常有香客問我椎咧,道長,這世上最難降的妖魔是什么灾挨? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任邑退,我火速辦了婚禮,結(jié)果婚禮上劳澄,老公的妹妹穿的比我還像新娘地技。我一直安慰自己,他們只是感情好秒拔,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布莫矗。 她就那樣靜靜地躺著,像睡著了一般砂缩。 火紅的嫁衣襯著肌膚如雪作谚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天庵芭,我揣著相機與錄音妹懒,去河邊找鬼。 笑死双吆,一個胖子當著我的面吹牛眨唬,可吹牛的內(nèi)容都是我干的会前。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼匾竿,長吁一口氣:“原來是場噩夢啊……” “哼瓦宜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起岭妖,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤临庇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后昵慌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體假夺,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年废离,在試婚紗的時候發(fā)現(xiàn)自己被綠了侄泽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蜻韭,死狀恐怖悼尾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肖方,我是刑警寧澤闺魏,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站俯画,受9級特大地震影響析桥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜艰垂,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一泡仗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猜憎,春花似錦娩怎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柬讨,卻和暖如春崩瓤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背踩官。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工却桶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蔗牡。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓肾扰,卻偏偏與公主長得像畴嘶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子集晚,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)区匣,斷路器偷拔,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • NSRange : 表示范圍作用的結(jié)構(gòu)體,3種方式創(chuàng)建 // 方式一 NSRange range; locatio...
    路墨閱讀 1,013評論 1 8
  • 5點55分,天色還是暗的姑丑,最近在起床前的夢境居然都是早餐內(nèi)容蛤签,然后隨著鬧鈴聲瞇著眼睛開始我的早餐程序,直到把南送到...
    吉妮閱讀 646評論 0 0
  • //js部分 var box=div.getElementsByTagName('input'); //全選 fu...
    Lnannan閱讀 445評論 0 0