Foundation 之 NSDictionary和NSMutableDictionary
2015-10-25 21:33
447 查看
NSDictionary字典
字典中的元素是以键值对的形式存储的字典初始化
NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",nil];
// @"one"和@"1"组成了一个键值对
// @"one"称为值(value),@"1"称为键(key)
// 键值对的值和键,都是任意对象,但是键往往使用字符串
// 字典存储对象的地址没有顺序,字典中不考虑对象的顺序,如果考虑顺序用数组。
或者:
NSDictionary * dict = @{
@"greeting":@"Hello",
@"farewell":@"Goodbye"
}
从字典中获取值
// 与如何从NSArray中获取对象的方式类似NSString * str = dict[@"greeting"];
字典遍历
1.枚举器法
键的遍历NSEnumerator * enumerator = [dict keyEnumerator];
值的遍历
NSEnumerator * enumerator = [dict objectEnumerator];
while(obj = [enumerator nextObject]) {
NSLog(@"%@", obj);
}
2.快速枚举法
for(id obj in dict) {NSLog(@"%@", obj); // 快速遍历法遍历出来的是键。
NSString * str = [dict objectForKey:obj]; // 通过键可以找到对应的值
NSLog(@"%@", str);
}
NSMutableDictionary可变字典
可变字典类是字典类的子类,所以拥有父类NSDictionary的所有方法,并且增加了自己特有的功能。可变字典初始化
NSMutableDictionary * dict = [[NSMutableDictionary alloc] init];往字典里增加键值对
[dict setObject:@"one" forKey:@"1"];[dict setObject:@"two" forKey:@"2"];
通过键,删除指定键值对
[dict removeObjectForKey:@"1"];删除所有的键值对
[dict removeAllObjects];注意:字典中的键值对是不讲究顺序的。
相关文章推荐
- Javascript数组与字典用法分析
- Javascript的数组与字典用法与遍历对象的属性技巧
- javascript编程必备_JS语法字典第1/2页
- Python中让MySQL查询结果返回字典类型的方法
- python3.0 字典key排序
- Objective-C的内省(Introspection)用法小结
- JavaScript实现的类字典插入或更新方法实例
- JavaScript通过字典进行字符串翻译转换的方法
- python解决字典中的值是列表问题的方法
- python实现在无须过多援引的情况下创建字典的方法
- 浅谈Javascript 数组与字典
- Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect实例分析
- Objective-C中NSNumber与NSDictionary的用法简介
- Objective-C中NSLog输出格式大全
- python修改字典内key对应值的方法
- python进阶教程之词典、字典、dict
- python中字典dict常用操作方法实例总结
- 在Python中操作字典之update()方法的使用
- python字典get()方法用法分析
- Python字典操作简明总结