静态字典
初始化
NSDictionary * dict = [NSDictionary dictionary];
dict = [NSDictionary dictionaryWithObjectsAndKeys:@"yc",@"name",@18,@"age", nil];
NSLog(@"%@",dict);
dict = @{@"name":@"yc",@"age":@20};
NSLog(@"%@",dict);
数量
NSLog(@"%i",[dict count]);
访问数组中的元素
NSString * name = [dict objectForKey:@"name"];
NSNumber * ageNumber = [dict objectForKey:@"age"];//注意这里是NSNumber类型
int age = [ageNumber intValue];//NSNumber转int
NSLog(@"%@,%i",name,age);
遍历key
for (NSObject * key in [dict keyEnumerator]) {
NSLog(@"key=%@,value=%@",key,[dict objectForKey:key]);
}
遍历value
for(NSObject * obj in [dict objectEnumerator])
{
NSArray * keys = [dict allKeysForObject:obj];//注意这里是数组,因为一个值可能对应多个key
NSLog(@"value=%@,keys=%@",obj,keys);
}
遍历key和value
[dict enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
NSLog(@"key=%@,value=%@",key,obj);
}];
动态字典
初始化空字典
NSMutableDictionary * dict = [NSMutableDictionary dictionary];
设置
[dict setObject:@"yc" forKey:@"name"];
[dict setObject:@18 forKey:@"age"];
[dict setObject:@20 forKey:@"age"];
[dict setObject:@"man" forKey:@"sex"];
NSLog(@"%@",dict);
移除
[dict removeObjectForKey:@"sex"];
NSLog(@"%@",dict);