保存自定义类型数据的方法

保存自定义类型数据的方法

通常, 我们保存没那么多的数据的时候, 采用的是NSUserdefault的方式来保存,
但这样会有一个缺点, 就是通过这种方式储存的数据类型必须是基本的数据类型,
例如NSArray, NSDictionary, NSNumber等, 如果我们需要储存自己定义的一个类的数据的时候那么怎么办呢? 这时候的方法就是使用NSCoding了.
我们来简单的归纳一下NSCoding的使用步骤

  1. 让自定义的类(就是需要被储存的类)遵守NSCoding协议 注意是NSCoding, 不是NSCoping
  2. 编码:在
    - '' (void)encodeWithCoder:(NSCoder *)aCoder
    里对需要保存的属性使用方法encodeObject: forKey:来进行赋值
    3.解码: 在
  • '' (instancetype)initWithCoder:(NSCoder *)aDecoder
    里对保存的属性进行解码, 使用的方法为 decodeObjectForKey: 来进行解码
  1. 归档:然后需要做的就是控制器或者需要的地方像使用NSUSerdefault一样使用了
    归档的时候使用[NSKeyedArchiver archivedDataWithRootObject:] 参数写自定义类.
    解档:解档的时候使用 [NSKeyedUnarchiver unarchiveObjectWithData:] 参数写自定义类.

这个就是简单的使用方法了, 这里只做个人心得的记录, 并没有用很完善的方式阐述, 并不适合做他人的参考

以上

你可能感兴趣的:(保存自定义类型数据的方法)