Objective -C学习笔记之字典

 1         //字典:(关键字 值)
 2 //        NSArray *array = [NSArray array];//空数组
 3 //        NSDictionary *dictionary = [NSDictionary dictionary];//空字典
 4         NSDictionary *my = [NSDictionary dictionaryWithObject:@"objective" forKey:@"key"];
 5                             NSLog(@"%@",my);
 6         NSDictionary *to = [NSDictionary dictionaryWithObjectsAndKeys:@"123",@"abc",@"456",@"efg" ,nil];//创建包含多个值的字典
 7         NSLog(@"%@",to);
 8         NSDictionary *me = @{
 9                                @"a":@"1",
10                                @"b":@"2"
11                              };
12         NSLog(@"%@,%li",me,me.count);
13         NSString *s = [me objectForKey:@"a"];//键值对应的对象
14         NSString *ss = me[@"b"];//跟数组差不多
15         NSLog(@"%@,%@",ss,s);
16         
17 //        NSArray *keyArr = [me allKeys];
18 //        for(NSString *key in keyArr)
19 //        {
20 //            NSLog(@"%@ = %@",key,me[key]);
21 //        }
22       
23         NSDictionary *niubi = [NSDictionary dictionaryWithObjectsAndKeys:@"liyuanfang",@"direnjie",@"Moran ",@"fuermosi",@"kenanfushou",@"kenan" ,nil];//创建包含多个值的字典
24         NSArray *keyArr = [niubi allKeys];//取字典中的所有键值
25         for(NSString *key in keyArr)
26         {
27             NSLog(@"%@问%@这事你怎么看?",key,niubi[key]);
28         }
29 /**********************************************************************************/
30         //取出字典中所有的值
31         NSArray *valueArr = [me allValues];
32         NSLog(@"取字典中的所有键对应的值%@",valueArr);
33         
34         //字典既然存在,那么开发者肯定想到要方便的使用它
35         //然而就有了,可以独立取出键或值的方法:allKeys和allValues
36         //因为他们是数组属性,所以需要放到新建的数组对象中
37         
38         //枚举器中OC语言中一个遍历的有效方法,
39         //应用时,一般先通过.....Enumerator获取枚举器,存放到其对应的类型NSEnumerator对象中
40         //这个对象会有一个自动向下遍历的方法nextObject
41         //先获取字典中key的枚举器,然后遍历该枚举器,获取key对应的值
42         NSEnumerator *e = [me keyEnumerator];
43         id obj;        
44         while (obj = [e nextObject]) {
45             NSLog(@"%@ = %@",obj,me[obj]);
46         }
47         
48         //获取value对应的枚举器
49         NSEnumerator *a = [me objectEnumerator];
50         while(obj = [a nextObject])
51         {
52             NSLog(@"%@",obj);
53         }
54         
55         //键和对象列举块,stop代表遍历停止
56         
57         [me enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
58             
59             NSLog(@"key=%@,value = %@",key,obj);
60         }];

 可变字典

 1         NSMutableDictionary *aa = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"a",@"1",@"b",@"2", nil];
 2         //
 3         [aa setObject:@"c" forKey:@"3"];
 4         NSLog(@"%@",aa);
 5         [aa setValue:@"d" forKey:@"4"];
 6         NSLog(@"%@",aa);
 7         //
 8         [aa removeObjectForKey:@"4"];
 9         NSLog(@"%@",aa);
10         [aa removeAllObjects];
11         NSLog(@"%@",aa);
原文地址:https://www.cnblogs.com/liuguan/p/4914441.html