plist存储

一、存储数据

  • 1、数据存储是保存在手机里面的。

  • 2、plist文件存储一般都是存取字典和数据,直接写成plist文件,把它存到应用沙盒当中。

  • 3、只有在iOS当中才有plist存储,它是iOS特有的存储方式。

  • 4、获取沙盒根路径,每一个应用在手机当中都有一个文件夹,这个方法就是获取当前应用在手机里安装的文件。

     NSLog(@"%@", NSHomeDirectory());
    
Snip20151215_9.png
  • 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];
    
Snip20151215_11.png
  • 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);
    
    
    Snip20151215_12.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容