可变字典 NSMutableDictionary
初始化放啊
1.创建一个空的字典
NSMutableDictionary *mDictionary1 = [NSMutableDictionary dictionary];
2.创建一个键值对的可变字典
NSMutableDictionary *mDictionary2 = [NSMutableDictionary dictionaryWithObject:@"Rick" forKey:@"name"];
3.创建一个有多个键值对的可变字典
NSMutableDictionary *mDictionary3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rick",@"name",@25,@"age",@"GZ",@"address", nil];
4.通过一个字典创建一个字典
NSMutableDictionary *mDictionary4 = [NSMutableDictionary dictionaryWithDictionary:mDictionary3];
5.使用快速枚举遍历字典
for (NSString *key in [mDictionary4 allKeys]) {
NSLog(@"%@ = %@",key,mDictionary4[key]);
}
6.使用枚举器遍历字典
NSEnumerator *enumerator = [[mDictionary4 allKeys] objectEnumerator];
NSString *keys;
while (keys = [enumerator nextObject]) {
NSLog(@"%@ = %@",keys,mDictionary4[keys]);
}
7.可变字典独有的初始化方法
NSMutableDictionary *mDictionary5 = [NSMutableDictionary dictionaryWithCapacity:10];//创建了初始大小为10个键值对的可变字典,同样的,参数num 只是初始的大小,提高程序效率,并没有限制字典的大小,如果继续往里面添加数据,字典元素个数会继续增加。
8.从本地读取字典
NSMutableDictionary *mDictionary6 = [NSMutableDictionary dictionaryWithContentsOfFile:@""];
9.从网络读取字典
NSMutableDictionary *mDictionary7 = [NSMutableDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@""]];
操作字典
1.增
[mDictionary5 setValue:@"Rick" forKey:@"name"];
[mDictionary5 setValue:@25 forKey:@"age"];
2.改(如果原来字典中有了key这个关键字,那么这次新增的值就会覆盖掉原来关键字(键)key对应的值)
[mDictionary5 setValue:@"Jack" forKey:@"name"];
3.新语法改
mDictionary5[@"name"] = @"leo";
4.删除指定key的对象
[mDictionary5 removeObjectForKey:@"name"];
5.删除所有对象
[mDictionary5 removeAllObjects];
NSLog(@"dic5 = %@",mDictionary5);
例子
NSMutableDictionary *mDictionary8 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rick",@"name",@25,@"age",@"GZ",@"address",@"Rick",@"name2",@"Rick",@"name3", nil];
for (NSString *key in [mDictionary8 allKeys]) {
NSLog(@"%@ = %@",key,mDictionary8[key]);
}
NSMutableArray *mArray = [NSMutableArray array];
NSArray *array1 = [mDictionary8 allKeys];
NSArray *array2 = [mDictionary8 allValues];
for (int i = 0; i<mDictionary8.count; i++) {
if ([array2[i] isEqual:@"Rick"]) {
[mArray addObject:array1[i]];
}
}
NSLog(@"%@",mArray);
NSArray *key8 = mDictionary8.allKeys;
for (NSString *key in key8) {
NSString *String = mDictionary8[key];
if ([String isEqual:@"Rick"]) {
NSLog(@"key = %@",key);
}
}
}