1. //
  2. // main.m
  3. // NSMutableDictionary
  4. // NSDictionary不可变,初始化后就不可以修改,NSMutableDictionary可变,初始化后可以改变。
  5. //
  6.  
  7. #import <Foundation/Foundation.h>
  8.  
  9. int main(int argc, const char * argv[]) {
  10.  
  11. // 1.创建一个空的字典
  12. NSMutableDictionary *dictM = [NSMutableDictionary dictionary];
  13. NSLog(@"%@", dictM);// {}
  14. // 2.如何添加
  15. [dictM setObject:@"lnj" forKey:@"name"];
  16. NSLog(@"%@", dictM);// {name = lnj;}
  17. // 会将传入字典中所有的键值对取出来添加到dictM中
  18. [dictM setValuesForKeysWithDictionary:@{@"age":@"", @"height":@"1.75"}];
  19. NSLog(@"%@", dictM);// {age = 30;height = "1.75";name = lnj;}
  20.  
  21. // 3.如何获取
  22. NSLog(@"name = %@", dictM[@"name"]);//lnj
  23.  
  24. // 4.如何删除
  25. [dictM removeObjectForKey:@"name"];
  26. NSLog(@"%@", dictM);//{age = 30;height = "1.75";}
  27. [dictM removeObjectsForKeys:@[@"age", @"height"]];
  28. NSLog(@"%@", dictM);//{}
  29. // 5.如何修改
  30. // 如果利用setObject方法给同名的key赋值, 那么新值会覆盖旧值
  31. [dictM setObject:@"" forKey:@"age"];
  32. dictM[@"age1"] = @"";
  33. NSLog(@"%@", dictM);//{age = 88;age1 = 881;}
  34.  
  35. // 1.不能使用@{}来创建一个可变的字典
  36. NSMutableDictionary *dictM = @{@"name":@"lnj"}; //报错
  37. [dictM setObject:@"" forKey:@"age"];
  38.  
  39. // 2.如果是不可变数组, 那么key不能相同
  40. // 如果是不可变字典出现了同名的key, 那么后面的key对应的值丢弃。
  41. // 如果是在可变字典中, 后面的会覆盖前面的
  42. NSDictionary *dict = @{@"name":@"lmj", @"name":@"lnj"};
  43. NSLog(@"dict = %@", dict);//{name = lmj;}
  44.  
  45. NSMutableDictionary *dictM1 = [NSMutableDictionary dictionaryWithObjects:@[@"lmj", @"lnj"] forKeys:@[@"name", @"name"]];//{name = lnj;}
  46. NSLog(@"dict = %@", dictM1);
  47.  
  48. return ;
  49. }

oc76--NSMutableDictionary的更多相关文章

  1. 字典NSDictionary以及NSMutableDictionary的用法总结

    做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便.在Objective-C语言中 词典 ...

  2. iOS常用 --- NSDictionary 与 NSMutableDictionary

    一.NSDictionary 字典的两种创建方法 NSDictionary *dic1 =[[NSDictionary alloc]init]; 2 // 或: 3 NSDictionary *dic ...

  3. 黑马程序员-NSDictionary和NSMutableDictionary

    NSDictionary和NSMutableDictionary:通过key和value进行对应,进行存储元素,能够方便提取所需的元素.key是不能够重复出现,但是value能够重复出现.NSDict ...

  4. iOS阶段学习第15天笔记(NSDictionary与NSMutableDictionary 字典)

    iOS学习(OC语言)知识点整理 一.OC中的字典 1)字典:是一个容器对象,元素是以键-值对(key-value)形式存放的,key和value是任意类型的对象,key是唯一的,value可以重复 ...

  5. objective-c系列-NSDictionary&NSMutableDictionary

    ********************************************* NSDictionary ***************************************** ...

  6. OC第四节——NSDictionary和NSMutableDictionary

    NSDictionary    1.什么是字典        字典是也是一种集合结构,功能与我们现实中的字典工具一样    2.字典的元素是什么        任意类型的对象地址构成键值对    3. ...

  7. NSDictionary、NSMutableDictionary及其枚举器的用法

    .不可变词典NSDictionary 字典初始化 NSNumber *numObj = [NSNumber numberWithInt:]; 以一个元素初始化 NSDictionary *dic = ...

  8. 黑马程序员——OC语言Foundation框架 (2) NSArray NSSet NSDictionary\NSMutableDictionary

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)NSArray 1>NSArray :不可变数组 ①创建方法 ...

  9. IOS字典NSDictionary与NSMutableDictionary知识点

    字典中的元素是以键值对的形式存储的,键值对的键和值,都是任意的对象,但是键往往使用字符串,字典存储对象的地址没有顺序,字典的遍历分为:键的遍历和值的遍历,字典与数组的区别:数组讲究顺序,而字典可以快速 ...

  10. 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <五> NSDicionary + NSMutableDictionary

    int main(int argc, const char * argv[]) { @autoreleasepool { //字典, 存储的内存不是连续的 用key和value进行对应(键值) //k ...

随机推荐

  1. Redis应用场景[分享]

    Redis应用场景[分享] 1.取最新N个数据的操作2.排行榜应用 取TOPN操作3.需要精确设定过期时间的应用4.计数器应用(文章阅读数.评论数)5.Uniq操作,获取某段时间所有数据排重值6.实时 ...

  2. 【Hadoop】四、HDFS的java接口

      Hadoop是用java语言实现的,因此HDFS有很好的java接口用以编程,重点就是Hadoop的FileSystem类,它是所有文件系统的抽象类,HDFS实例(DistributedFileS ...

  3. 简单的jsonp实现跨域原理

    什么原因使jsonp诞生?  传说,浏览器有一个很重要的安全限制,叫做"同源策略".同源是指,域名,协议,端口相同.举个例子,用一个浏览器分别打开了百度和谷歌页面,百度页面在执行脚 ...

  4. 如何同步iframe与嵌入内容的高度

    最近频繁的做一些通过iframe在a页面嵌入b页面需求.总结下来,有以下问题需要解决 1.如何同步iframe与嵌入内容的高度 2.将b页面载入到a页面后,如何隐藏掉b页面上的元素,如左导航,顶部导航 ...

  5. 10JDBC、CURD、XML、XPath

    10JDBC.CURD.XML.XPath-2018/07/20 1.JDBC JDBC:java database connectivity JDBC与数据库驱动的关系:接口与实现的关系. JDBC ...

  6. laravel 开发辅助工具

    laravel 开发辅助工具 配置 添加服务提供商 将下面这行添加至 config/app.php 文件 providers 数组中: 'providers' => [ ... App\Plug ...

  7. Java第九周总结

  8. MVC 中如果js,css文件放到视图文件夹无法访问的解决办法

    在视图配置文件web.config 中添加如下节点,注意:此web.config 是视图文件夹中的,在你的views视图中可以找到<system.webServer>开头的<hand ...

  9. Mongodb学习总结(2)——MongoDB与MySQL区别及其使用场景对比

    对于只有SQL背景的人来说,想要深入研究NoSQL似乎是一个艰巨的任务,MySQL与MongoDB都是开源常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数 ...

  10. Dubbo 是一个分布式服务框架

    Dubbo 是一个分布式服务框架-----http://www.cnblogs.com/chanshuyi/p/5144288.html