Foundation 框架之——NSDictionary、NSMutableDictionary

 1 /**************** NSDictionary *****************/
 2         
 3         //创建一个新的字典
 4         NSDictionary *dictionary1=[NSDictionary dictionary];
 5         NSDictionary *dictionary2=[[NSDictionary alloc]init];
 6         NSLog(@"dictionary1:%@,dictionary2:%@",dictionary1,dictionary2);
 7 //        NSNumber *number=[NSNumber numberWithInt:100];
 8         
 9         //创建一个包含一对键值对的字典
10         NSDictionary *dictionary3=[NSDictionary dictionaryWithObject:@"value" forKey:@"key"];
11         NSLog(@"dictionary3:%@",dictionary3);
12         
13         //创建一个包含多对键值对的字典
14         NSDictionary *dictionary4=[NSDictionary dictionaryWithObjects:@[@"a",@"b",@"c"] forKeys:@[@"k1",@"k2",@"k3"]];
15         NSLog(@"dictionary4:%@",dictionary4);
16         
17         
18         NSDictionary *dictionary5=[NSDictionary dictionaryWithObjectsAndKeys:@"a",@"k1",@"b",@"k2", nil];
19         NSLog(@"dictionary5:%@",dictionary5);
20         
21         //根据已有的字典创建字典
22         NSDictionary *dictionary6=[NSDictionary dictionaryWithDictionary:dictionary5];
23         NSLog(@"dictionary6:%@",dictionary6);
24 
25         //获取字典中元素的个数
26         NSLog(@"dictionary6 count = %d",(int)dictionary6.count);
27         
28         //获取某个key值对应的value
29         NSLog(@"dictionary6 key is k1 value is %@",[dictionary6 valueForKey:@"k1"]);
30         
31         NSArray *array=[NSArray arrayWithObjects:@"iphone",@"android",@"winphone", nil];
32         NSDictionary *dictionary7=[NSDictionary dictionaryWithObject:array forKey:@"phone"];
33         NSArray *newArray=[dictionary7 valueForKey:@"phone"];
34         NSLog(@"newArray:%@",newArray);
35         
36         
37         //获取字典中所有的key
38         NSDictionary *dictionary8=[NSDictionary dictionaryWithObjects:@[@"a",@"b",@"c"] forKeys:@[@"k1",@"k2",@"k3"]];
39         NSArray *keyArray=[dictionary8 allKeys];
40         NSLog(@"keyArray:%@",keyArray);
41         
42         //所有的key转换成枚举
43         NSEnumerator *enum1=[dictionary8 keyEnumerator];
44         for (NSString *string in enum1) {
45             NSLog(@"%@",string);
46         }
47         
48         /**************** NSMutableDictionary *****************/
49         NSMutableDictionary *mutableDic1=[NSMutableDictionary dictionaryWithObjects:@[@"a",@"b",@"c"] forKeys:@[@"k1",@"k2",@"k3"]];
50         
51         //添加
52         [mutableDic1 setObject:@"value1" forKey:@"key1"];
53         NSLog(@"mutableDic1 : %@",mutableDic1);
54 
55         NSMutableDictionary *mutableDic2=[NSMutableDictionary dictionaryWithObjects:@[@"1",@"2"] forKeys:@[@"k4",@"k5"]];
56         
57         //添加字典元素到另一个字典中
58         [mutableDic1 addEntriesFromDictionary:mutableDic2];
59         NSLog(@"mutableDic1%@  mutableDic2%@",mutableDic1,mutableDic2);
60         
61         //把当前字典所有元素替换为新的字典中的元素
62         //[mutableDic1 setDictionary:mutableDic2];
63         NSLog(@"mutableDic1 : %@",mutableDic1);
64 
65         //删除
66         [mutableDic1 removeObjectForKey:@"key1"];
67         NSLog(@"mutableDic1 : %@",mutableDic1);
68 
69         [mutableDic1 removeObjectsForKeys:@[@"k4",@"k5"]];
70         NSLog(@"mutableDic1 : %@",mutableDic1);
71 
72         //根据指定key值替换value值
73         [mutableDic1 setObject:@"new" forKey:@"k1"];
74         NSLog(@"mutableDic1 : %@",mutableDic1);
View Code
原文地址:https://www.cnblogs.com/doublelongliu/p/4644671.html