字典主要特征是一对一对的key和value组成,它的分类以及针对元素的操作和NSString以及NSArray的都差不多。重点在于了解一遍,具体做项目时再加深理解。
//不可变字典
//初始化字典,一般key值是字符串对象。空值用NSNull对象表示
NSDictionary *dic1=[NSDictionary dictionaryWithObjects:@"value1" forKeys:@"key1"];
NSDictionary *dic2=[NSDictionary dictionaryWithObjectsAndKeys:@"value2",@"key2",@"value3",@"key3", nil];
NSDictionary *dic3=[NSDictionary dictionaryWithDictionary:dic1];
//获取字典的数量
NSInteger * int1=[dic2 count];
//通过key获取value值
NSObject *objNew=[dic2 objectForKey:@"key2"];
//将字典的key变成一个枚举对象用于遍历
NSEnumerator *enumerator=[dic2 keyEnumerator];
//获取所有key的集合
NSArray *arr1=[dic2 allKeys];
//获取所有value的集合
NSArray *arr2=[dic2 allValues];
//可变字典
//初始化,和上面的类似
NSMutableDictionary *dic4=[NSMutableDictionary dictionary];
NSMutableDictionary *dic5=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"v1",@"k1",@"v2",@"k2", nil];
//把一个字典加到另一个里面
[dic4 addEntriesFromDictionary:dic1];
//给字典新增元素
[dic5 setObject:@"v3" forKey:@"k3"];
[dic5 setDictionary:dic1];//把dic5的内容设置成dic1一样的内容
//移除所有元素、根据key值一个个移除,也可把key值设置为array后,把array传递进来
[dic5 removeAllObjects];
[dic5 removeObjectForKey:@"k1"];
[dic5 removeObjectsForKeys:arr1];
//快速遍历方法
for (id key in dic5) {
id obj=[dic5 objectForKey:key];
NSLog(@"%@",obj);
}
//常用遍历方法
NSArray *aKey=[dic5 allKeys];
int length=[aKey count];
for (int i; i<length; i++) {
id keyNew=[aKey objectAtIndex:i];
id obj=[dic5 objectForKey:keyNew];
}
//利用Enumerator遍历
NSEnumerator *emu1=[dic5 keyEnumerator];
id key=[emu1 nextObject];
while (key) {
id obj=[dic5 objectForKey:key];
NSLog(@"%@",obj);
key=[emu1 nextObject];
}