美文网首页
plist存储

plist存储

作者: 耿杰 | 来源:发表于2015-12-15 14:06 被阅读255次

    一、存储数据

    • 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

    相关文章

      网友评论

          本文标题:plist存储

          本文链接:https://www.haomeiwen.com/subject/dsmuhttx.html