一、存储数据
1、数据存储是保存在手机里面的。
2、
plist
文件存储一般都是存取字典和数据,直接写成plist
文件,把它存到应用沙盒当中。3、只有在
iOS
当中才有plist
存储,它是iOS
特有的存储方式。-
4、获取沙盒根路径,每一个应用在手机当中都有一个文件夹,这个方法就是获取当前应用在手机里安装的文件。
NSLog(@"%@", NSHomeDirectory());
-
5、在某个范围内搜索文件夹的路径.
- directory:获取哪个文件夹
- domainMask:在哪个路径下搜索
- expandTilde:是否展开路径.
- 这个方法获取出的结果是一个数组.因为有可以搜索到多个路径.
- 这个方法获取出的结果是一个数组.因为有可以搜索到多个路径.
NSArray *array = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
-
6、在这里,我们指定搜索的是Cache目录,所以结果只有一个,取出Cache目录
NSString *cachePath = array[0]; NSLog(@"%@",cachePath);
-
7、拼接文件路径
NSString *filePath = [cachePath stringByAppendingPathComponent: @"people.plist"];
-
8、 想要把这个字典存储为plist文件.
- 直接把字典写入到沙盒当中
- 用字典写, plist文件当中保存的是字典.
NSDictionary *dict = @{@"name:" : @"无头骑士", @"age" : @23};
-
9、 获取沙盒路径
- ToFile:要写入的沙盒路径
[dict writeToFile: filePath atomically: YES];
-
10、也可以写数组
NSArray *dataArray = @[@56,@"asdfa"]; [dataArray writeToFile:filePathName atomically:YES];
二、读取数据
-
1、部分代码
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0]; NSString *filePath = [cachePath stringByAppendingPathComponent: @"people.plist"]; NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile: filePath]; NSLog(@"dict:%@", dict);