2019独角兽企业重金招聘Python工程师标准>>>

 1 int main(int argc, const char * argv[]) {
 2     @autoreleasepool {
 3         //字典, 存储的内存不是连续的 用key和value进行对应(键值)
 4         //kvc 键值编码
 5         NSDictionary *dic = [NSDictionary dictionaryWithObject:@"1" forKey:@"a"];
 6         NSLog(@"%@",dic);//以上的方法是不常用的
 7         //注意两个参数是数组
 8         //NSDictionary *dic2 = [NSDictionary dictionaryWithObjects:<#(NSArray *)#> forKeys:<#(NSArray *)#>]
 9         //所以还是要先创建两个数组
10         NSArray *array1 = [[NSArray alloc] initWithObjects:@"a",@"b",@"c",@"d", nil];
11         NSArray *array2 = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4", nil];
12         NSDictionary *dic2 = [[NSDictionary alloc] initWithObjects:array1 forKeys:array2];
13         NSLog(@"%@",dic2);
14         //
15         NSDictionary *dic3 = @{@"m":@"9",@"n":@"8"};
16         NSLog(@"%@",dic3);
17         //输出字典的长度
18         int count = (int)[dic3 count];
19         NSLog(@"%d",count);
20         //通过键 获得 值
21         NSString *str = [dic3 valueForKey:@"m"];//或者[dic3 objectForKey:@"m"]
22         NSLog(@"%@",str);
23         //获取所有键值中的键和值
24         NSArray *allValue = [dic3 allValues];
25         NSArray *allKey = [dic3 allKeys];
26         //通过多个键找值,因为是多个,当然返回的是数组
27         NSArray *array = [dic2 objectsForKeys:[NSArray arrayWithObjects:@"2",@"3",@"9", nil] notFoundMarker:@"not found"];
28         NSLog(@"%@",array);
29         //遍历字典,数组通过下标遍历,字典当然通过key来遍历
30         for (NSString *key in dic2) {
31             NSLog(@"%@ = %@",key,[dic2 objectForKey:key]);
32         }
33         //使用针对字典的枚举器
34         NSEnumerator *en = [dic2 keyEnumerator];
35         id key = nil;
36         while (key = [en nextObject]) {
37             NSLog(@"key - %@",key);
38         }
39         //还有一个block方法,用法都是一样的
40         /*
41         [dic2 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
42
43         }];*/
44     }
45     return 0;
46 }

 1 int main(int argc, const char * argv[]) {
 2     @autoreleasepool {
 3         NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
 4         //添加键值对,直接添加就可以了
 5         [dict setObject:@"1" forKey:@"a"];
 6         [dict setObject:@"2" forKey:@"b"];
 7         [dict setObject:@"3" forKey:@"c"];
 8         NSLog(@"%@",dict);
 9         //删除键值对
10         [dict removeObjectForKey:@"a"];
11         NSLog(@"%@",dict);
12         //还可以通过传入数组对象,对应删除数组元素对应的所有键
13         [dict removeObjectsForKeys:[NSArray arrayWithObjects:@"a",@"c", nil]];
14         NSLog(@"%@",dict);
15     }
16     return 0;
17 }

转载于:https://my.oschina.net/u/2363463/blog/635940

《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 五 NSDicionary + NSMutableDictionary...相关推荐

  1. 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 二 NSMutableString

    2019独角兽企业重金招聘Python工程师标准>>> NSMutableString可变字符串 1 int main(int argc, const char * argv[]) ...

  2. 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 三 NSArray

    2019独角兽企业重金招聘Python工程师标准>>> 1 int main(int argc, const char * argv[]) { 2 @autoreleasepool ...

  3. 【Verilog零基础入门-边看边练】学习笔记——第三讲 组合逻辑代码设计和仿真(补码转换和七段译码逻辑设计)(二)

    二.七段译码逻辑设计 所需软件 Verilog编程软件:Lattice Diamond(3.11.0.396.4_Diamond_x64) Verilog仿真软件:ModelSim SE-64 10. ...

  4. 手把手带你学python—牛客网python基础 pandas读取文件查看用户数据集的大小

    牛客是一款不论是面试 还是刷题 都是非常有用的 还等什么,传送门- 牛客网python基础

  5. 手把手带你学python—牛客网python基础 鸢尾花分类

    牛客是一款不论是面试 还是刷题 都是非常有用的 还等什么,传送门- 牛客网python基础

  6. 牛客网 编程初学者入门训练 BC133 KiKi说祝福语

    题目来源:牛客网 编程初学者入门训练 BC133 KiKi说祝福语 import java.util.Scanner; public class Main {public static void ma ...

  7. 手把手带你学python—牛客网python基础 牛牛的逻辑运算

      牛客是一款不论是面试 还是刷题 都是非常有用的 还等什么,传送门- 牛客网python基础

  8. 牛客网 编程初学者入门训练 BC37 网购 Java

    题目来源:牛客网 编程初学者入门训练 BC37 网购 import java.util.Scanner; public class Main {public static void main(Stri ...

  9. 牛客网 编程初学者入门训练 BC3 有容乃大 Java

    题目来源:牛客网 编程初学者入门训练 BC3 有容乃大 public class Main {public static void main(String[] args) {System.out.pr ...

最新文章

  1. 在ThinkPad W500 A98上升级Windows 7以及安装硬件驱动和相关程序(2/2)
  2. EL 表达式 JSTL 标签库
  3. Python--str与repr以及eval的使用方法
  4. RHEL环境下调试Shell脚本时遇到字符串转换整数的问题
  5. RabbitMQ的消息确认ACK机制
  6. 关于数据库的备份和某个表的数据备份的相关步骤介绍
  7. 微信小程序 fire_如何在Fire TV和Fire TV Stick上侧面加载应用程序
  8. python manage.py syncdb Unknown command: 'syncdb'问题解决方法
  9. WebService应用:音乐站图片上传
  10. win系统流畅度测试软件,视频对比:老电脑装Win7、Win10流畅性测试
  11. Android性能优化-Render篇
  12. 代码健壮性 —— 边界条件的判断
  13. 游戏开发之C++面向对象模型(C++类中成员变量和成员函数的存储原理及this指针)(C++基础)
  14. 树莓派搭建VSFTP记录---自用简记
  15. 保持hlist_node内存的紧凑性连续性以提高遍历性能
  16. 收藏CSDN上一篇文章--勉励自己
  17. Word文档排版——自动编号
  18. Facebook:寻找出路的小巨人
  19. 一文掌握APQP(产品质量策划)
  20. Rockchip 的 RK818 子模块:电量计介绍相关概念功能、dts 配置...

热门文章

  1. 用tarball实现liferay自动安装部署15-复制定制后的catalina.sh
  2. linux c socket programming
  3. lvs+keepalived简单配置
  4. 让Linux系统开机速度更快的方法
  5. 从零学React Native之12 组件的生命周期
  6. cordova + vue cli构建跨平台应用
  7. git客户端基本操作
  8. 编写 Shell 脚本的最佳实践
  9. OpenERP里面继承的用法
  10. JavaScript中使用console调试程序的坑