<span style="font-size:14px;">#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//可变字典 NSMutableDictionary
//1.初始化
//创建一个空字典
NSMutableDictionary *mDictionary1 = [NSMutableDictionary dictionary];
//创建有一个键值对的可变字典
NSMutableDictionary *mDictionary2 = [NSMutableDictionary dictionaryWithObject:@"Clown" forKey:@"name"];
//创建多个键值对的可变字典
NSMutableDictionary *mDictionary3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Clown", @"name", @21, @"age", @"GZ", @"address", nil];
//通过另一个字典创建一个字典
NSMutableDictionary *mDictionary4 = [NSMutableDictionary dictionaryWithDictionary:mDictionary3];
NSEnumerator *enumerator = [[mDictionary3 allKeys]objectEnumerator];
NSString *key;
while (key = [enumerator nextObject]) {
// NSLog(@"%@ = %@", key, mDictionary3[key]);
}
for (NSString *key in mDictionary3.allKeys) {
// NSLog(@"%@ = %@", key, mDictionary3[key]);
}
//可变字典独有的初始化方法
//创建了初始大小为10个键值对的可变字典,同样的这一个参数只是初始的大小,它是用来提高程序的效率的,并没有限制字典的大小,如果继续往里面添加数据,字典的元素个数会继续增加
NSMutableDictionary *mDictionary5 = [NSMutableDictionary dictionaryWithCapacity:10];
//从本地读取字典
NSMutableDictionary *mDictionary6 = [NSMutableDictionary dictionaryWithContentsOfFile:@""];
//从网络读取字典
NSMutableDictionary *mDictionary7 = [NSMutableDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@""]];
//操作字典
//增
[mDictionary5 setValue:@"Clown" forKey:@"name"];
[mDictionary5 setValue:@21 forKey:@"age"];
//改(如果原来字典中已有了key这个关键字,那么这次新加的值就会覆盖掉原来关键字(键)key对应的值)
[mDictionary5 setValue:@"Black" forKey:@"name"];
//新语法改
mDictionary5[@"name"] = @"White";
//删除指定key的对象
[mDictionary5 removeObjectForKey:@"name"];
//删除所有key的对象
[mDictionary5 removeAllObjects];
NSLog(@"%@",mDictionary5);
//例子
NSMutableDictionary *mDictionary8 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Clown", @"name", @21, @"age", @"GZ", @"address", @"Clown", @"name2", @"Clown", @"name3", nil];
// NSEnumerator *enumerator1 = [mDictionary8.allValues objectEnumerator];
// NSEnumerator *enumerator2 = [mDictionary8.allKeys objectEnumerator];
// NSString *value1 = [enumerator1 nextObject];
// NSString *key1 = [enumerator2 nextObject];
NSArray *keyD8 = mDictionary8.allKeys;
for (NSString *key in keyD8) {
// NSString *string;
//因为字典中存在 NSUInteger 的类型,所以对其进行拆包
// if ([mDictionary8[key] isKindOfClass:[NSNumber class]]) {
// int a = [mDictionary8[key] intValue];
// string = [NSString stringWithFormat:@"%d",a];
// }
// else {
// string = mDictionary8[key];
// }
//等价于以下方法
//通过 value 来把相应的 key 找出来
NSString *string = mDictionary8[key];
if ([string isEqual:@"Clown"]) {
NSLog(@"%@",key);
}
}
}
return 0;
}
</span>
Foundation-NSMutableDictionary
最新推荐文章于 2022-06-06 14:58:36 发布