NSDictionary
1.基本知识
NSDictionary的意思是字典。
NSDictionary的作用类似:通过一个key值,能找到对应的value
NSDictionary是不可变的,一旦初始化完毕,不可修改
字典的key值和value值都是对象
2.创建
//创建空字典
NSDictionary *dict1 = [NSDictional dictionary];
由于NSDictionary是不可变的,一旦创建不能改动,所以这样写没有意义
//创建只有一组键值对的字典
NDSictionary *dict2 = [NSDictionary dictionaryWithObject:@"zhangsan" forkey:@"zs"];
//创建多组键值对的字典
NDSictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"zhangsan" forkey:@"zs",@"lisi",@"k2",nil];//成对
出现,前面是value值,后面是key值。
NSLog(@"%@",dict2);//输出结果包含扎起大括号里
//快速创建字典
NDSictionary *dict4 = @{@"k1":@"a", @"k2":@"b", @"k3":@"c"};
3.键值对集合的特点
(1)字典存储的时候,必须是以"键值对"的方式来存储,并且key值不能重复,如果重复了,后面添加的无法加入字典
(2)键值对中存储的数据是无序的
(3)键值对集合可以根据键值快速获取数据
4.NSDictionary基本用法
(1) -(NSUInteger)count------------返回字典的键值对数目
NSLog(@"%lu",dict.count);
(2) -(id)objectForKey:(id)akey-----------根据key值获得value值
NSString *str = [dict objectForKey:@"k1"];
5.字典的遍历
//获取所有的key
//根据key获取value
方法一:
for(NSString*key in dict){
NSLog(@"key = %@,value=%@",key,[dict objectForKey:key]);
}
方法二:
[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop){
NSLog(@"%@--->%@",key,ogj);
}]
6.NSDictionary的简写及文件操作
(1)创建的简写
一般写法[NSDictionary dictionaryWithObjectsAndKeys:@"Jack",@"男",@“sex”,nil];
简写:@[@"Jack",@"男",@“sex”];
(2)获取元素
之前写法:[dict objectForKey:@"name"];
现在:dict[@"k1"];
7.NSDictionary的文件操作//把字典保存在文件中
BOOL isWrite = [dict writeToFile:@"/Users/dict.plist" atomically:YES];
is(isWrite){
NSLog(@"写入成功");
}
//从文件中读取字典
NSDictionary *readDict = [NSDictionary dictionaryWithContentsOfFile:@"/Users/zhuhouli.plist"];
NSLog(@"readDict = %@",readDict);
|
|