------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
//1)创建空字典,无意义,不可变,一旦创建,就不能修改
NSDictionary *dic = [NSDictionary dictionary];
//2)创建中有一组键值对的字典
// key value
// zs ---> 张三
// ls ---> 李四
NSDictionary *dic2 = [NSDictionary dictionaryWithObject:@"张三" forKey:@"zs"];
//3)创建多组键值对的字典
// value key 成对出现
NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2", nil];
//注意:字典的key值和value都是对象
NSLog(@"dic3 = %@",dic3);
//4)快速创建一个字典
// @{key值:value值 , , , , }
//key值不能重复,如果重复了不会报错,后面重复的不会显示
NSDictionary *dic4 = @{@"zs":@"zhangsan",@"ls":@"lisi"};
NSLog(@"dic4 = %@",dic4);
//5)获取字典的长度
NSLog(@"count = %lu", dic4.count);
//6)根据key值取出value值
NSString *str = [dic4 objectForKey:@"ls"];
NSLog(@"str = %@",str);
//7)字典的遍历问题
[dic4 enumerateKeysAndObjectsUsingBlock:^(id key,id obj, BOOL *stop){
NSLog(@"%@ ---> %@",key,obj);
}];
NSDictionary的简写
//1)用简写形式去定义一个字典
NSDictionary *dic = @{@"zs":@"zhangsan",@"ls":@"lisi"};
//2)用简写形式,获取key值,对应的value值
NSLog(@"%@",dic[@"zs"]);
//3)把字典保存到文件中
BOOL isWrite = [dic writeToFile:@"/Users/zyh/Desktop/dic.plist" atomically:YES];
if (isWrite) {
NSLog(@"写入成功");
}
//4)从文件中读取字典
NSDictionary *readDic = [NSDictionary dictionaryWithContentsOfFile:@"/Users/zyh/Desktop/dic.plist"];
NSLog(@"readDic = %@",readDic);
NSDictionary的文件操作,其中字典的value为一个数组的操作
NSArray *lnArr = [NSArray arrayWithObjects:@"shenyang",@"dalian",nil];
NSArray *hbArr = [NSArray arrayWithObjects:@"baoding",@"shijiazhuang" ,nil];
NSDictionary *citys = [NSDictionary dictionaryWithObjectsAndKeys:lnArr,@"ln",hbArr,@"hb",nil];
NSLog(@"citys = %@",citys);
//将字典写入文件中
[citys writeToFile:@"/Users/zyh/Desktop/citys.plist" atomically:YES];
//读取citys.plist
NSDictionary *citysDic = [NSDictionary dictionaryWithContentsOfFile:@"/Users/zyh/Desktop/citys.plist"];
//遍历
[citysDic enumerateKeysAndObjectsUsingBlock:^(id key,id obj,BOOL *stop){
for (NSString *str in obj) {
NSLog(@"citys = %@",str);
}
}];
//获取每个数组
NSArray *arr = citysDic[@"ln"];//key值为ln的value值是个数组,用数组来接收
NSLog(@"%@",[arr lastObject]);//打印数组的最后一个元素