OC语言day08-09可变字典NSMutableDictionary

pragma mark NSMutableDictionary

pragma mark 概念

/**

 概念: 《字典存储的都是键值对 都是通过某个 键  找到 对应的 值》
 
 NSMutableDictionary
 @"值":@"键"
 @"lyh":@"name"
 // 键值对 通过键(name) 找到 对应的值(lyh)
 
 1.创建 (dictionary)
 
 2.添加 (setObject:值 forKey:键)
   添加一个字典 (setValuesForKeysWithDictionary:字典)
 
 3.获取 (objectForKey:键)
        dict[@"键"];
 
 4.删除
    删除一个 (removeObjectForKey)
    删除多个 (removeObjectsForKeys)
 
 5.修改 (setObject:值 forKey:键) // 添加同名的key 就是修改了
 
 ⚠️ 注意点
1. 不能使用@{}来创建一个可变的字典
2. 如果是不可变字典, 那么key不能相同
如果是不可变的字典, 出现了同名的key,那么后面的key对应的值 不会被保存
如果是在可变的字典中, 那么后面的
 
 #pragma mark 字典(NSDictionary)和数组(NSArray) 的区别
 NSArray 是有序的
 NSDictionary 是无序的
 
 NSArray 是通过下标访问元素
 NSDictionary 是通过key访问元素
 
#pragma mark 创建 和 访问
 array
 创建
 @[@"lyh",@"lys"]; (返回的是一个不可变数组)
 访问
 id a = array[1];
 赋值
 array[1] = @"lyh";
 
 dict
 创建
 @{@"name":@"lyh",@"age":@"22"};
 访问
 id a = dict[@"name"];
 赋值
 dict[@"name"] = @"lyh";

 */

pragma mark 代码

#import <Foundation/Foundation.h>
#pragma mark 类

#pragma mark main函数
int main(int argc, const char * argv[])
{
#pragma mark NSMutableDictionary
    
#warning 1.创建
    NSMutableDictionary *dictM = [NSMutableDictionary dictionary];
    NSLog(@"dic %@",dictM);
#warning 2.如何添加
    [dictM setObject:@"lyh" forKey:@"name"];
    NSLog(@"dic %@",dictM);
    // 会将传入
    [dictM setValuesForKeysWithDictionary:@{@"age":@"20",@"height":@"1.71"}];
    NSLog(@"dic %@",dictM);
    
#warning 3.如何获取
//    NSLog(@"dic %@",[dictM objectForKey:@"name"]);
    NSLog(@"dic %@",dictM[@"name"]);

    
#warning 4.如何删除
    // 删除单个
    [dictM removeObjectForKey:@"name"];
    NSLog(@"dic %@",dictM);
    // 删除多个
//    [dictM removeObjectsForKeys:@[@"age",@"height"]];
//    NSLog(@"dic %@",dictM);


#warning 5.如何修改
    // 如果利用setObject 方法给同名的key赋值,那么新值会覆盖旧值
    
    [dictM setObject:@"180" forKey:@"age"];
    NSLog(@"dic %@",dictM);
    

#warning ⚠️注意点
    // 1. 不能使用@{}来创建一个可变的字典
//    NSMutableDictionary *dictM2 = @{@"name":@"lyh"};
//    [dictM2 setObject:@"20" forKey:@"age"];
    
    // 2. 如果是不可变字典, 那么key不能相同
    // 如果是不可变的字典, 出现了同名的key,那么后面的key对应的值 不会被保存
    // 如果是在可变的字典中, 那么后面的

    NSDictionary *dictM3 = @{@"name":@"lyh",@"name":@"lys"};
    NSLog(@"dictM3 %@",dictM3);

    
    // 可变字典重名
    NSMutableDictionary *dictM4 = [NSMutableDictionary dictionaryWithObjects:@[@"lyh",@"lys"] forKeys:@[@"name",@"name"]];
    NSLog(@"dictM4 %@",dictM4);

    
#pragma mark 字典(NSDictionary)和数组(NSArray) 的区别
    /**
     NSArray 是有序的 
     NSDictionary 是无序的
     
     NSArray 是通过下标访问元素
     NSDictionary 是通过key访问元素
     
     */
#pragma mark 创建 和 访问
    /**
     array 
     创建
     @[@"lyh",@"lys"]; (返回的是一个不可变数组)
     访问
     id a = array[1];
     赋值
     array[1] = @"lyh";
     
     dict
     创建
     @{@"name":@"lyh",@"age":@"22"};
     访问
     id a = dict[@"name"];
     赋值
     dict[@"name"] = @"lyh";
     */
    return 0;
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容