执行代码:
#import <Foundation/Foundation.h>
void test1()
{
//Dictionary 的简写形式
NSDictionary *dict1=@{@"1":@"one",@"2":@"two",@"3":@"three"};
NSLog(@"dict1 = %@",dict1);
//通过key打印对于value值的 一般 形式
NSLog(@"str1 = %@",[dict1 objectForKey:@"1"]);
//通过key打印对应value值的 简写 形式
NSLog(@"str1 = %@",dict1[@"1"]);
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 1、将字典写入到文件中去(文件.plist)
//注意:字典中可以存放另外的字典和数组,但是写的时候记得内层字典要写在上面,不然下面执行的时候系统不认识这些字典的名字(系统是从上往下执行的)
NSDictionary *dict1to1to1=@{@"pingyin":@"平阴县",@"changqing":@"长清县"};
NSDictionary *dict1to1to2=@{@"zibo":@"淄博县",@"lala":@"啦啦县"};
NSDictionary *dict1to1=@{@"济南市":dict1to1to1,@"章丘市":dict1to1to2};
NSDictionary *dict1to2=@{@"shijiazhuang":@"石家庄市",@"langfang":@"廊坊市"};
NSDictionary *dict1=@{@"jinan":dict1to1,@"hebei":dict1to2};
NSArray *array1=@[@"qqq",@"www",@"eee"];
NSDictionary *dict=@{@"1":@"one",@"2":@"two",@"3":@"three",@"省市表列":dict1,@"array1":array1};
BOOL flag=[dict writeToFile:@"/Users/wangzhongyao/Desktop/dict.plist" atomically:YES];
if (flag) {
NSLog(@"写入成功");
}
else
{
NSLog(@"写入失败");
}
// 2、从文件中读取字典
NSDictionary *dict2=[NSDictionary dictionaryWithContentsOfFile:@"/Users/wangzhongyao/Desktop/dict.plist"];
//创建新的数组对象和字典对象去接收从文件中读取出来的数组和字典对象,再打印出来
NSString *arr=dict2[@"array1"];//获取字典中的数组时,通过简写的形式获取key值对应的value值,这里写的是key值,而不是写value值的名字
NSLog(@"array1 = %@",arr);
NSDictionary *dict3=dict2[@"省市表列"];
NSLog(@"省市表列 = %@",dict3);
}
return 0;
}
运行结果:
2015-09-14 19:39:42.960 NSDictionary 文件操作[23472:2732720] 写入成功
2015-09-14 19:39:42.961 NSDictionary 文件操作[23472:2732720] array1 = (
qqq,
www,
eee
)
2015-09-14 19:39:42.961 NSDictionary 文件操作[23472:2732720] 省市表列 = {
hebei = {
langfang = "\U5eca\U574a\U5e02";
shijiazhuang = "\U77f3\U5bb6\U5e84\U5e02";
};
jinan = {
"\U6d4e\U5357\U5e02" = {
changqing = "\U957f\U6e05\U53bf";
pingyin = "\U5e73\U9634\U53bf";
};
"\U7ae0\U4e18\U5e02" = {
lala = "\U5566\U5566\U53bf";
zibo = "\U6dc4\U535a\U53bf";
};
};
}