数据存储

1、在Mac上显示和取消隐藏文件夹的命令:------>便于开发
  1>defaults write com.apple.finder AppleShowAllFiles YES
  2>defaults write com.apple.finder AppleShowAllFiles NO
2、获取沙盒Documents全路径的快捷方法
  NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,NSUserDomainMask, YES)[0]
3.数据存取
  0>.应用沙盒
    1.Documents 保存应用运行时生成的需要持久化的数据,iTunes同步设备时,会备份该目录。
    2.tmp 保存应用运行时所需的临时数据,使用完毕时再将相应的数据删除,不会同步
    3.Library/Caches 保存应用运行时生成的需要持久化的数据,iTunes同步设备时,不会备份该目录。一般存储体积大,不需要备份的非重要数据
    4.Library/Preference 保存应用的所有偏好设置,ios的Setting应用会在该目录中查找应用的设置信息。iTunes同步时,会备份该目录。
    总结:体积大 tmp(里面的内容可能会被系统随机删除) library/caches iTunes不会备份
    体积小 Documents library/Preference iTunes会备份  

  1>XML属性(Plist)归档一般都是先写在读的

    0.使用NSHomeDirectory()这个函数获取项目的沙盒路径
    1.在ViewdidLoad方法中读取文件
    2.在按钮监听事件中写入文件 写文件调用文件的[dict writeToFile:filePath atomically:YES];
  2>.Preference(偏好设置)
      一般都是先存在读的
    0.NSUserDefaults *user = [NSUserDefaults standardUserDefaults]; //初始化用户默认设置
    1.初始化后,掉这个方法,设置值 [user setObject:_qq.text forKey:@"qq"];
    2.马上进行存储(马上进行同步)[user synchronize];
    3. 在viewdidload方法中,读数据
      1>初始化用户默认设置
      2>调这个方法取值 [user objectForKey:@"qq"];
  3>归档和解析  NSKeyedArchiver归档返回的是一个数组,
    1>归档返回的是个BOOL类型的,默认就是YES 这个kFilePath指的是Documents的全路径
    [NSKeyedArchiver archiveRootObject:_dataArray toFile:kFilePath];
    2>解析
    _dataArray = [NSKeyedUnarchiver unarchiveObjectWithFile:kFilePath];
    3>将模型对象存入沙盒的方法
    模型必须实现这两个方法
    #pragma mark 当从文件中解析对象时调用
    // 在这个方法说清楚:
    // 1.哪些属性需要解析(读取)
    // 2.怎样解析(读取)这些属性
      - (id)initWithCoder:(NSCoder *)deCoder
      {
        if (self = [super init]) {
          _name = [deCoder decodeObjectForKey:@"name"];
          _phone = [deCoder decodeObjectForKey:@"phone"];
      }
      return self;
      }
    #pragma mark 将对象归档的时候会调用(将对象写入文件之前会调用)
    // 在这个方法说清楚:
    // 1.哪些属性需要存储
    // 2.怎样存储这些属性
      - (void)encodeWithCoder:(NSCoder *)enCoder
      {
      [enCoder encodeObject:_name forKey:@"name"];
       [enCoder encodeObject:_phone forKey:@"phone"];
      }

原文地址:https://www.cnblogs.com/yinqiang/p/3486804.html