#pragma mark 创建字典
将字典写入文件,从文件读取:
获取多个字典值:
遍历字典:
用key迭代器遍历字典:
用block迭代
NSMutableDictionary:字典子集,可变
阅读(1989) | 评论(0) | 转发(0) |
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
点击(此处)折叠或打开
- void dictCreate() {
- //NSDictionary是不可变的
- NSDictionary *dict = [NSDictionary dictionaryWithObject:@"v" forKey:@"k"];
- //最常用的初始化方式
- dict = [NSDictionary dictionaryWithObjectsAndKeys:
- @"v1",@"k1",
- @"v2",@"k2",
- @"v3",@"k3",
- nil];
- NSArray *objs = [NSArray arrayWithObjects:@"v1",@"v2",@"v3",nil];
- NSArray *keys = [NSArray arrayWithObjects:@"k2",@"k3",@"k4",nil];
- dict = [NSDictionary dictionaryWithObjects:objs forKeys:keys];
-
- NSLog(@"%@",dict);
- }
将字典写入文件,从文件读取:
点击(此处)折叠或打开
- void dicUse(){
- //NSDictionary是不可变的
- NSDictionary *dict = [NSDictionary dictionaryWithObject:@"v" forKey:@"k"];
- //最常用的初始化方式
- dict = [NSDictionary dictionaryWithObjectsAndKeys:
- @"v1",@"k0",
- @"v2",@"k2",
- @"v3",@"k3",
- nil];
- //返回字典键值对
- NSLog(@"count=%zi",dict.count);
-
- //dictionary不可变,所以只能取值,不能修改
- id obj = [dict objectForKey:@"k3"];
- NSLog(@"obj=%@",obj);
- NSLog(@"%@",dict);
-
- //将字典写入文件
- NSString *path = @"/Users/luteresa/Desktop/dic.txt";
- //[dict writeToFile:path atomically:YES];
- dict = [NSDictionary dictionaryWithContentsOfFile:path];
- NSLog(@"-%@",dict);
- }
获取多个字典值:
点击(此处)折叠或打开
- void dictUse2(){
- //NSDictionary是不可变的
- NSDictionary *dict = [NSDictionary dictionaryWithObject:@"v" forKey:@"k"];
- //最常用的初始化方式
- dict = [NSDictionary dictionaryWithObjectsAndKeys:
- @"v1",@"k0",
- @"v1",@"k2",
- @"v3",@"k3",
- nil];
- //返回字典键值对
- NSLog(@"count=%zi",dict.count);
-
- //返回所有的key
- NSArray *keys = [dict allKeys];
- NSLog(@"keys=%@",keys);
-
- //返回所有的value
- NSArray *objs = [dict allValues];
- NSLog(@"%@",objs);
- keys =[dict allKeysForObject:@"v1"];
- NSLog(@"keys=%@",keys);
-
- //根据多个key取出对应的多个value
- //当key找不到value时,用marker代替
- objs = [dict objectsForKeys: [NSArray arrayWithObjects:@"k1",@"k2",nil] notFoundMarker:@"h"];
- NSLog(@"%@",objs);
-
- }
遍历字典:
点击(此处)折叠或打开
- void dicFor(){
- //NSDictionary是不可变的
- NSDictionary *dict = [NSDictionary dictionaryWithObject:@"v" forKey:@"k"];
- //最常用的初始化方式
- dict = [NSDictionary dictionaryWithObjectsAndKeys:
- @"v1",@"k0",
- @"v1",@"k2",
- @"v3",@"k3",
- nil];
-
- for (id key in dict) {
- id value = [dict objectForKey:key];
- NSLog(@"%@->%@",key,value);
- }
- }
用key迭代器遍历字典:
点击(此处)折叠或打开
- void dicFor2(){
- //NSDictionary是不可变的
- NSDictionary *dict = [NSDictionary dictionaryWithObject:@"v" forKey:@"k"];
- //最常用的初始化方式
- dict = [NSDictionary dictionaryWithObjectsAndKeys:
- @"v1",@"k0",
- @"v1",@"k2",
- @"v3",@"k3",
- nil];
- //key 迭代器
- NSEnumerator *enumerator = [dict keyEnumerator];
- id key = nil;
- while (key = [enumerator nextObject]) {
- id value = [dict objectForKey:key];
- NSLog(@"%@->%@",key,value);
- }
- //
- }
用block迭代
点击(此处)折叠或打开
- void dicFor3(){
- //NSDictionary是不可变的
- NSDictionary *dict = [NSDictionary dictionaryWithObject:@"v" forKey:@"k"];
- //最常用的初始化方式
- dict = [NSDictionary dictionaryWithObjectsAndKeys:
- @"v1",@"k0",
- @"v1",@"k2",
- @"v3",@"k3",
- nil];
- [dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
- NSLog(@"%@=%@",key,obj);
- }];
-
-
- }
NSMutableDictionary:字典子集,可变
点击(此处)折叠或打开
- void dicMutUse(){
- NSMutableDictionary *dict = [NSMutableDictionary dictionary];
- Student *stu1 = [Student studentWithName:@"name1"];
- Student *stu2 = [Student studentWithName:@"name2"];
-
- [dict setObject:stu1 forKey:@"k1"];
- [dict setObject:stu2 forKey:@"k2"];
- NSLog(@"retain:%zi",[stu1 retainCount]);
-
- NSLog(@"%@->%@",@"k1",[[dict objectForKey:@"k1"] name]);
- //[dict removeAllObjects];
- //[dict removeObjectForKey:@"k1"];
- NSLog(@"retain:%zi",[stu1 retainCount]);
- // NSLog(@"%@",stu1);
-
- //添加其他字典
- NSDictionary *other = [NSDictionary dictionaryWithObject:@"name3" forKey:@"k3"];
- [dict addEntriesFromDictionary:other];
- NSLog(@"count is %zi",[dict count]);
-
- //NSLog(@"%@->%@",@"k3",[dict objectForKey:@"k3"]);
- }
相关热门文章
给主人留下些什么吧!~~
评论热议