靜態字典
初始化
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);