/**
*数据持久化的四种方式
*
*1-------属性列表
*
*2-------对象归档
*
*3-------SQLite3
*
*4-------Core Data
*
*下面是数据持久化的第一种方式-----写入文件
*/
/**
*写入文件思路
*
*1-----获取需要写入的文件对象
*
*2-----获取需要写入的文件对象的文件路径
*
*3-----写入文件
*
*4-----读取文件
*/
NSString* string=@"Copyright (c) 2015年 妖精的尾巴. All rights reserved.";
NSString* filePath=@"/Users/Apple/Desktop/string.text";
BOOL success=[string writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
if (success) {
NSLog(@"文件写入成功");
}
NSString* str=[[NSString alloc]initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"文件内容:%@",str);
/**
*NSData写入文件思路
*
*1-----文件路径初始化data对象
*
*2-----utf8编码
*
*3-----写入文件
*
*4-----读取文件
*/
NSData* data=[[NSData alloc]initWithContentsOfFile:filePath];
NSLog(@"data中的数据:%@",data);
[data writeToFile:filePath atomically:YES];
NSLog(@"写入data后的数据:%@",data);
/**
*NSArray 数组写入文件思路
*
*数组、字典写入的文件,称为属性列表文件
*
*1-----获取文件对象
*
*2-----获取写入文件路径
*
*3-----写入文件
*
*4-----读取plist文件(可以遍历数组)
*/
NSArray *array = @[@"妖精的尾巴", @"蓝色妖姬", @"苍穹魅影"];
NSString *filePath2 = @"/Users/Apple/Desktop/array.plist";
[array writeToFile:filePath2 atomically:YES];
NSArray *array2 = [[NSArray alloc] initWithContentsOfFile:filePath2];
for (NSString* key in array2) {
NSLog(@"数组遍历后的value为:%@",key);
}
/**
*NSDictionary 字典写入文件思路
*
*数组、字典写入的文件,称为属性列表文件
*
*1-----获取文件对象
*
*2-----获取写入文件路径
*
*3-----写入文件
*
*4-----读取plist文件(可以遍历数组)
*/
NSDictionary *dic = @{
@"name":@"妖精的尾巴",
@"age":@20,
@"blog":@YES
};
NSString *filePath3 = @"/Users/Apple/Desktop/dictionary.plist";
[dic writeToFile:filePath3 atomically:YES];
NSDictionary *dic2 = [[NSDictionary alloc] initWithContentsOfFile:filePath3];
for (NSString* key in dic2) {
NSArray* array= [dic2 objectForKey:key];
NSLog(@"字典遍历后array=%@",array);
}