几种数据保存方式

来源:互联网 发布:光纤网络测速 编辑:程序博客网 时间:2024/05/18 22:42

作者:Love@YR
链接:http://blog.csdn.net/jingqiu880905/article/details/50525494
请尊重原创,谢谢!

  1. NSUeserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下。
  2. 直接写文件的方式,可以存储的对象有NSString、NSArray、NSDictionary、NSData、 NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中。
    NSString *filePath = [cachePath stringByAppendingPathComponent:@”test.plist”];
    //创建数据
    NSDictionary *content = @{@”value1”:@”1”,@”value2”:@”2”,@”value3”:@”3”};
    //将数据存到目标路径的文件中(这个时候如果该路径下文件不存在将会自动创建)
    //用writeToFile方法写文件会覆盖掉原来的内容
    [content writeToFile:filePath atomically:YES];
    //读取数据(通过字典的方式读出文件中的内容)
    NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filePath];
  3. 归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在文件中。
    通常,自定义的Model要想使用简单的方式写入到plist文件里,要遵循NSCoding协议。然后使用NSKeyedArchiver进行编码生成NSData,读取以后使用NSUnKeyedArchiver进行解码。
    需要保存的对象类一定要引用NSCoding协议,并且实现
    • (void)encodeWithCoder:(NSCoder *)aCoder
    • (id)initWithCoder:(NSCoder *)aDecoder
      NSData * data = [NSKeyedArchiver archivedDataWithRootObject:customObj];
      CustomClass *customObj= [NSKeyedUnarchiver unarchiveObjectWithFile:targetPath];
0 0
原创粉丝点击