1 atomically:原子性,当文件内容写入成功之后再创建文件。
2
3 NSArray *keys = [NSArray arrayWithObjects:@"name", @"age", nil];
4 NSArray *values = [NSArray arrayWithObjects:@"wzx", [NSNumber numberWithInt:16], nil];
5 NSDictionary *dict = [NSDictionary dictionaryWithObjects:values forKeys:keys];
6
7 // NSDictionary是不可变的
8 NSDictionary *dict = [NSDictionary dictionaryWithObject:@"v" forKey:@"k"];
9
10 // 最常用的初始化方式
11 dict = [NSDictionary dictionaryWithObjectsAndKeys:
12 @"v1", @"k1",
13 @"v2", @"k2",
14 @"v3", @"k3", nil];
15
16 NSArray *objects = [NSArray arrayWithObjects:@"v1", @"v2", @"v3", nil];
17 NSArray *keys = [NSArray arrayWithObjects:@"k1", @"k2", @"k3", nil];
18 dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
19 NSLog(@"%@", dict);
20
21
22 NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
23 @"v1", @"k1",
24 @"v2", @"k2",
25 @"v3", @"k3", nil];
26
27 // count是计算有多少个键值对(key-value)
28 NSLog(@"count=%zi", dict.count);
29
30 // 由于NSDictionary是不可变的,所以只能取值,而不能修改值
31 id obj = [dict objectForKey:@"k2"];
32 NSLog(@"obj=%@", obj);
33
34 // 将字典写入文件中
35 NSString *path = @"/Users/apple/Desktop/dict.xml";
36 [dict writeToFile:path atomically:YES];
37
38 // 从文件中读取内容
39 dict = [NSDictionary dictionaryWithContentsOfFile:path];
40 NSLog(@"dict=%@", dict);
41
42
43 NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
44 @"v1", @"k1",
45 @"v2", @"k2",
46 @"v3", @"k3", nil];
47 // 返回所有的key
48 NSArray *keys = [dict allKeys];
49 //NSLog(@"keys=%@", keys);
50
51 NSArray *objects = [dict allValues];
52 //NSLog(@"objects=%@", objects);
53
54 // 根据多个key取出对应的多个value
55 // 当key找不到对应的value时,用marker参数值代替
56 objects = [dict objectsForKeys:[NSArray arrayWithObjects:@"k1", @"k2", @"k4", nil] notFoundMarker:@"not-found"];
57 NSLog(@"objects=%@", objects);
58
59
60 #pragma mark 遍历字典
61 NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
62 @"v1", @"k1",
63 @"v2", @"k2",
64 @"v3", @"k3", nil];
65 // 遍历字典的所有key
66 for (id key in dict) {
67 id value = [dict objectForKey:key];
68 NSLog(@"%@=%@", key, value);
69 }
70
71
72 NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
73 @"v1", @"k1",
74 @"v2", @"k2",
75 @"v3", @"k3", nil];
76 // key迭代器
77 NSEnumerator *enumer = [dict keyEnumerator];
78 id key = nil;
79 while ( key = [enumer nextObject]) {
80 id value = [dict objectForKey:key];
81 NSLog(@"%@=%@", key, value);
82 }
83
84 // 对象迭代器
85 // [dict objectEnumerator];
86
87
88
89 //block
90 NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
91 @"v1", @"k1",
92 @"v2", @"k2",
93 @"v3", @"k3", nil];
94 [dict enumerateKeysAndObjectsUsingBlock:
95 ^(id key, id obj, BOOL *stop) {
96 NSLog(@"%@=%@", key, obj);
97 }];
98