oc中字典的处理
//1简单初始化
NSDictionary *dict=@{@"name":@"小明",@"qge":@"18"};
NSLog(@"%@",dict);
//2 initWithDictionary 用一个字典初始化另一个字典
NSDictionary *dict1=[[NSDictionary alloc]initWithDictionary:dict];
NSLog(@"%@",dict1);
//3 initWithObjectsAndKeys: vale,key,...
NSDictionary *dict2=[[NSDictionary alloc]
initWithObjectsAndKeys:@"小明",@"name",@"18",@"age", nil];
NSLog(@"%@",dict2);
//4 initWithObjects forKeys 以数组形式传入 value,key
NSDictionary *dict3=[[NSDictionary alloc]initWithObjects:@[@"xiaoming",@"18"] forKeys:@[@"name",@"age"] ];
//5 初始化一个字典
// NSDictionary *dict4=[NSDictionary dictionary];
//6 dictionaryWithObjectsAndKeys: 定义一个key-value
NSDictionary *dict5=[NSDictionary dictionaryWithObjectsAndKeys:@"xiaoming",@"name", nil];
NSLog(@"%@",dict5);
//1 求字典元素个数
NSDictionary *dict=@{@"name":@"xiaoming",@"age":@"18",@"nikename":@"xiaoxiaoming"};
NSLog(@"%lu",dict.count);
//2 根据key求value
NSLog(@"%@",[dict objectForKey:@"age"]);
//3 得到所有的key 返回数组
NSArray *arr=[dict allKeys];
NSLog(@"%@",arr);
//遍历字典元素value
for (int i=0; i<arr.count; i++) {
NSLog(@"%@",[dict objectForKey:[arr objectAtIndex:i]]);
}
//4 得到所有的value 返回数组
NSLog(@"%@",[dict allValues]);
//5 字典判等 判断内容
NSDictionary *dict1=@{@"name":@"xiaoming"};
NSLog(@"%d",[dict isEqualToDictionary:dict1]);
//6 字典排序 key
NSDictionary *dict2=@{@"1":@"b",@"2":@"a",@"3":@"c",@"4":@"d"};
//由于字典中value都是字符串,所以可以用compare:方法
NSLog(@"%@",[dict2 keysSortedByValueUsingSelector:@selector(compare:)]);
//7 字典遍历 枚举器类 keyEnumerator 遍历key ,
objectEnumerator 遍历 value
//定义了一个枚举器对象,且使用字典类keyEnumerator初始化
//枚举器中,存放的是字典的key
NSEnumerator *enumerator=[dict2 keyEnumerator];
//枚举器对象最初指向空,需要调用nextObject来指向下一个对象,直至最终所有对象都已遍历完毕nextObject指向空
NSString *temKey=nil;
while((temKey=enumerator.nextObject))
{
NSLog(@"%@",temKey);
}
//8 数组的遍历 枚举器 objectEnumerator
reverseObjectEnumerator 逆序遍历
NSArray *arr2=@[@"sdf",@"gg",@"wer",@"bb"];
NSEnumerator *enum2=[arr2 reverseObjectEnumerator];
NSString *temElment=nil;
while ((temElment=enum2.nextObject))
{
NSLog(@"%@",temElment);
}
//可变字典 初始化
NSMutableDictionary *mutDict=[NSMutableDictionary dictionaryWithDictionary:@{@"name":@"xiaoming"}];
NSLog(@"%@",mutDict);
//1 删除字典
[mutDict removeObjectForKey:@"name"];
NSLog(@"%@",mutDict);
//2 添加字典元素
[mutDict setObject:@"18" forKey:@"age"];
NSLog(@"%@",mutDict);
//可以覆盖之前的值
[mutDict setObject:@"20" forKey:@"age"];
NSLog(@"%@",mutDict);
//3 删除所有元素
//removeAllObjects
//4 用一个新字典覆盖掉当前内容
[mutDict setDictionary:@{@"nikename":@"xiaoxiaoming"}];
NSLog(@"%@",mutDict);