1 //创建字典 2 NSMutableDictionary *mutableDic=[[NSMutableDictionary alloc] 3 initWithObjectsAndKeys:@"jay",@"name", 4 @"22",@"age", 5 @"f",@"gender", nil]; 6 NSLog(@"%@",mutableDic); 7 //创建空的字典 8 NSMutableDictionary *mutab=[NSMutableDictionary dictionary]; 9 //将字典mutableDic复制到mutab中 10 [mutab setDictionary:mutableDic];
//添加键值对的方式(向字典内添加一组键值) NSDictionary *dict1=[NSDictionary dictionaryWithObject:@"166" forKey:@"height"]; [mutableDic addEntriesFromDictionary:dict1]; NSLog(@"%@",mutableDic); //直接添加方式如果key存在时,就是修改对应的value值,如果不存在则是添加 [mutableDic setValue:@"66" forKey:@"weight"]; NSLog(@"%@",mutableDic);
1 //将字典中对应key的值删除 2 [mutableDic removeObjectForKey:@"weight"]; 3 //删除一组key对应的value值 4 [mutableDic removeObjectsForKeys:@[@"height",@"age"]]; 5 //删除所有value值 6 [mutableDic removeAllObjects];
1 //遍历 2 //(1) 1.先找到所有key 2.计算key的个数,用来循环 3.通过key的数组找到对应key的值 (这种方法较慢) 3 NSArray *keyss=[mutableDic allKeys]; 4 NSUInteger count=[mutableDic count]; 5 for(int i=0;i<count;i++){ 6 id key=[keyss objectAtIndex:i]; 7 NSLog(@"%@",[mutableDic objectForKey:key]); 8 } 9 //(2) 快速枚举 for in 语句 注意不能在改循环内对数组进行删除和增加 (即不能改变数组成员个数) 10 for(id key in mutableDic){ 11 id obj=[mutableDic objectForKey:key]; 12 NSLog(@"%@",obj); 13 } 14 //(3)通过枚举对象 进行枚举 15 //1.将字典里的key转成枚举对象,用于遍历 16 NSEnumerator *keyenums=[mutableDic keyEnumerator]; 17 id key; 18 while(key){ //直到key为空时结束循环 19 id obj=[mutableDic objectForKey:key];//通过key取到value 20 NSLog(@"%@",obj); 21 key=[keyenums nextObject]; //将枚举中下一个对象赋值给key 22 }