• 以plist文件做本地存储


    1、把需要保存的信息已plist文件形式保存在本地,即写入沙盒:

    /**
     *  写入本地(plist文件)
     */
    - (void)saveArray
    {
        // 1.获得沙盒根路径
        NSString *home = NSHomeDirectory();
        
        // 2.document路径
        NSString *docPath = [home stringByAppendingPathComponent:@"Documents"];
        
        // 3.新建数据
        NSDictionary *dict = @{@"haha":@"11",
                               @"hehe":@"12",
                               @"huhu":@"13",
                               @"gogo":@"14"
                               };
        
        NSString *filepath = [docPath stringByAppendingPathComponent:@"data.plist"];
        
        
        [dict writeToFile:filepath atomically:YES];
    }
    

      其中Decuments是沙盒固定路径,data.plist是自己取的要保存的文件的名字;

    2、当需要拿出保存的信息的时候,读取保存在本地的plist文件:

    /**
     *  读取写入本地的plist文件
     */
    - (IBAction)read {
        // 1.获得沙盒根路径
        NSString *home = NSHomeDirectory();
        
        // 2.document路径
        NSString *docPath = [home stringByAppendingPathComponent:@"Documents"];
        
        // 3.文件路径
        NSString *filepath = [docPath stringByAppendingPathComponent:@"data.plist"];
        
        // 4.读取数据
        NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filepath];
        
        NSLog(@"%@", dic);
    }
    

      

    3、有时保存在本地的文件信息不是最新时,需要删除上次保存在本地的文件,然后重新保存的最新的信息在本地:

    /**
     *  删除保存在本地的plist文件的数据
     */
    - (void)remove{
        // 1.获得沙盒根路径
        NSString *home = NSHomeDirectory();
        
        // 2.document路径
        NSString *docPath = [home stringByAppendingPathComponent:@"Documents"];
        
        // 3.文件路径
        NSString *filepath = [docPath stringByAppendingPathComponent:@"data.plist"];
        
        NSFileManager *fileManager = [NSFileManager defaultManager];
        
        [fileManager removeItemAtPath:filepath error:nil];
    }
    

      这样就完成了文件的本地存储。

    对于小文件的存储,减少了用数据库存储的麻烦,以plist文件存储,轻便、快捷,操作简单。

    有时候对于网络数据的缓存,如果数据不是很打的话,也是可以用plist文件存储的。

  • 相关阅读:
    Load Balancing 折半枚举大法好啊
    Big String 块状数组(或者说平方分割)
    K-th Number 线段树(归并树)+二分查找
    D. Powerful array 莫队算法或者说块状数组 其实都是有点优化的暴力
    CSU OJ PID=1514: Packs 超大背包问题,折半枚举+二分查找。
    运行时Runtime的API
    UIView的API
    UIControl的API
    UIScrollView的API
    使用KVO键值监听
  • 原文地址:https://www.cnblogs.com/h-tao/p/5226400.html
Copyright © 2020-2023  润新知