博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <五> NSDicionary + NSMutableDictionary...
阅读量:7011 次
发布时间:2019-06-28

本文共 2468 字,大约阅读时间需要 8 分钟。

 

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 }

 

 

转载地址:http://quttl.baihongyu.com/

你可能感兴趣的文章
Dubbo的一些编码约定和设计原则
查看>>
IDA 操作记录
查看>>
告警系统需求分析 告警系统主脚本 告警系统配置文件 告警系统监控项目
查看>>
JavaServer Faces (JSF) with Spring
查看>>
知物由学 | 这些企业大佬如何看待2018年的安全形势?
查看>>
[转]Mongodb的下载和安装
查看>>
usb_submit_urb
查看>>
[Node.js] Add Logging to a Node.js Application using Winston
查看>>
qt-solutions提供了8个开源项目
查看>>
处理:“ORA-00257: archiver error. Connect internal only, until freed”的错误问题
查看>>
java 取汉字首字母
查看>>
苹果版小黄车(ofo)app主页菜单效果
查看>>
使用Genymotion模拟器或者手机运行ionic4程序
查看>>
Hadoop之父Doug Cutting
查看>>
关于socket阻塞与非阻塞情况下的recv、send、read、write返回值---部分内容可能不确切,待讨论...
查看>>
Matlab随笔之插值与拟合(上)
查看>>
Socket 通信(基础原理、实时聊天系统雏形)
查看>>
理解和使用WPF 验证机制
查看>>
tensorflow 在加载大型的embedding模型参数时,会遇到cannot be larger than 2GB
查看>>
Flutter的教程:ListView
查看>>