NSDictionary(字典)
Foundation中的字典是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样,通过key(键),查找的对应的value(值),key通常是字符串对象,也可以是其他任意类型对象.在一个字典对象中,key的值必须是唯一的.此外,字典对象的键和值不可以为空(nil)。
五、NSDictionary 不可变字典
···初始化
//以一个键值对象 进行初始化
NSDictionary *dict1=[NSDictionary dictionaryWithObject:numObj1 forKey:@"key1"];
//以多个元素进行初始化
NSDictionary*dict2=[NSDictionary dictionaryWithObjectsAndKeys:numObj1, @"key1",numObj2,@"key2", nil];
//根据编译器特性来快速创建
NSDictionary *dict3 = @{
// key : value
@"name":@"jake",
@"age":@23,
}
···使用方法
//获取字典的数量
NSInteger count=[dict3 count];
//根据key获取相应的value对象
NSString *value=[dict3 objectForKey:@"age"];
//获取所有的key集合
NSArray *keys= [dict2 allKeys];
//获取所有的value集合
NSArray *values=[dict2 allValues];
六、NSMutableDictionary 可变字典
···初始化
/以一个键值对象 进行初始化
1)NSMutableDictionary *mutabledic =
[MutableDictionary dictionarywithObject:number1 forkey:@"key1"];
2)//以多个元素进行初始化
NSMutableDictionary *mutabledict2=[NSMutableDictionary dictionaryWithObjectsAndKeys:numObj1, @"key1",numObj2,@"key2", nil];
···使用方法
//向字典中添加value和key
[mutableDic2 setValue:@"object3" forKey:@"key3"];
//移除指定key的value值
[mutableDict2 removeObjectForKey:@"k1"];
//删除字典中所有的数据
[mutableDict2 removeAllObjects];
字典的遍历
//通过Block 快速遍历
[mutabledict2 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSLog(@"%@--%@",key,obj);
}];
五、NSDictionary 不可变字典
Foundation中的字典是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样,通过key(键),查找的对应的value(值),key通常是字符串对象,也可以是其他任意类型对象.在一个字典对象中,key的值必须是唯一的.此外,字典对象的键和值不可以为空(nil)。
···初始化
//以一个键值对象 进行初始化
NSDictionary *dict1=[NSDictionary dictionaryWithObject:numObj1 forKey:@"key1"];
//以多个元素进行初始化
NSDictionary *dict2=[NSDictionary dictionaryWithObjectsAndKeys:numObj1, @"key1",numObj2,@"key2", nil];
//根据编译器特性来快速创建
NSDictionary *dict3 = @{
// key : value
@"name":@"jake",
@"age":@23,
}
···使用方法
//获取字典的数量
NSInteger count=[dict3 count];
//根据key获取相应的value对象
NSString *value=[dict3 objectForKey:@"age"];
//获取所有的key集合
NSArray *keys= [dict2 allKeys];
//获取所有的value集合
NSArray *values=[dict2 allValues];
六、NSMutableDictionary 可变字典
···初始化
//以一个键值对象 进行初始化
1)NSMutableDictionary *mutabledic =
[MutableDictionary dictionarywithObject:number1 forkey:@"key1"];
2)//以多个元素进行初始化
NSMutableDictionary*mutabledict2=
[NSMutableDictionary dictionaryWithObjectsAndKeys:numObj1, @"key1",numObj2,@"key2", nil];
···使用方法
//向字典中添加value和key
[mutableDic2 setValue:@"object3" forKey:@"key3"];
//移除指定key的value值
[mutableDict2 removeObjectForKey:@"k1"];
//删除字典中所有的数据
[mutableDict2 removeAllObjects];
字典的遍历
//一般方法
NSArray *keys = [mutabledict2 allkeys];
for (int i = 0 ; i < mutabledict2.count;i++)
{
NSString *key = key[i];
NSString *obj = mutabledict2 [key];
NSLog(@"%@--%@", key, obj);
}
//通过Block 快速遍历
[mutabledict2 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSLog(@"%@--%@",key,obj);
}];