Foundation框架NSDictionary
来源:互联网 发布:冒险岛2韩服pk数据榜 编辑:程序博客网 时间:2024/05/16 11:14
集合——字典
字典是由键--值对组成的数据组合。正如我们在字典里查找单词的定义一样。
通过key(键),查找对应value(值),key通常是字符串对象,也可以是其他任意类型对象。在一个字典对象中,key的值必须是唯一的。字典对象的键和值不可以为空(nil),如果需要在一个字典对象中表示一个空值(value),可以使用NSNull对象
不可变字典NSDictionary
(集合中只能用对象或类的实例,不可以用基本数据类型)
字典的初始化
NSNumber *numObj = [NSNumber numberWithInt:100]; //把基本数据类型封装成对象
以一个元素初始化
NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"];
或NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"value" forKey:@"k1"];
NSLog(@"dic1 : %@",dic1);
输出为:k1 = value;
初始化两个元素
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:numObj,@"valueKey",numObj2,@"valueKey2",nil];
或:NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"v1",@"k1",@"v2",@"k2",nil];
初始化新字典,新字典包含otherDic
NSDictionary *dic = [NSDictionary dictionaryWithDictionary:otherDic];
以文件内容初始化字典
NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:path];
字典的常用方法
获取字典数量
NSInteger count = [dic count];
通过key获取对应的value对象
NSObject *valueObj = [dic objectForKey:@"key"];
将字典的key转成一个枚举对象,用于遍历
NSEnumerator * enumerator = [dic keyEnumerator];
获取所有键的集合
NSArray *keys = [dic allKeys];
获取所有值的集合
NSArray *values = [dic allValues];
可变字典 NSMutableDictionary常用方法
NSMutableDictionary * mutableDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"v1",@"k1",@"v2",@"k2",nil];
NSDictionary * dic3 = [NSDictionary dictionaryWithObject:@"v4",@"k4"];
向字典对象中添加整个字典对象
[mutableDic addEntriesFromDictionary:dic3];
向字典对象中追加一个新的k3,v3
[mutableDic setValue:@"v3"forKey:@"k3"];
初始化一个空的可变字典
NSMutableDictionary *dic1 = [NSMutableDictionary dictionary];
将空字典1对象内容设置与字典mutableDic对象相同
[dic1 setDictionary:mutableDic];
将字典中key1对应的值删除
[dic1 removeObjectForKey:@"key1"];
根据指定的数组(key)移除字典1的内容
NSArray *array = [NSArray arrayWithObjects:@"key1",nil];
[dic removeObjectsForKeys:array];
移除字典所有对象
[dic removeAllObjects];
遍历字典
快速枚举
for(id key in dic){
id obj = [dic objectForKey:key];
NSLog(@"%@",obj);
}
一般的枚举
NSArray *keys = [dic allKeys];
int length = [keys count];
for(int i=0;i<length;i++){
id key = [keys objectAtIndex:i];
id obj = [dic objectForKey:key];
NSLog(@"%@",obj);
}
使用枚举类型
NSEnumerator *enumerator = [mutableDic keyEnumerator];
id key = [enumerator nextObject];
while(key){
id object = [mutableDic objectForKey:key];
NSLog("object : %@",object);
key = [enumerator nextObject];
}
- Foundation框架NSDictionary
- ios - Foundation框架 - NSDictionary
- Foundation框架之NSDictionary
- 黑马程序员-Foundation框架-NSDictionary
- Foundation框架 —— NSDictionary
- Foundation框架基础 NSDictionary-字典
- Foundation框架-03 NSDictionary
- 【黑马程序员】Foundation框架NSDictionary
- Foundation框架--NSDictionary的使用
- Foundation框架中的NSDictionary 、NSMutableDictionary
- Cocoa Foundation 框架:NSDictionary字典的使用
- 黑马程序员------Foundation框架------NSDictionary字典
- Foundation框架 - NSDictionary类、NSMutableDictionary类
- Foundation框架之NSMutableString、NSMutableArray和NSDictionary
- 22 Foundation框架之NSDictionary和NSMutableDictionary
- Foundation框架学习之NSDictionary和NSMutableDictionary
- Foundation--NSDictionary
- Foundation NSDictionary
- 电脑和手机之间使用蓝牙传输文件-步骤
- 阿斯顿撒旦撒大大说的
- Apache吃空内存,频繁宕机
- MAC 系统清理
- CocosBuilder 多分辨率基础 分享2
- Foundation框架NSDictionary
- 大数据的存储和管理
- Linux之netlink学习
- CGridView详解
- poj 1558-Segment set (并查集+计算几何)
- 跟踪计算机视觉前沿必读的列表(各种论文)
- 在Java语言JDBC代码中的Select语句中缺少了一个逗号
- 图文并茂使用CocosBuilder制作Cocos2D游戏
- HDFS的JAVA接口API操作实例