iOS开发中的数据持久化-归档

对对象进行归档

  1. 使对象遵守NSCoding协议
  2. 实现对象的encodeWithCoder:方法,在该方法中调用[aCode encodeObject:forKey]方法来保存需要保存的数据
  3. 调用NSKeyedArchiverarchiveRootObject:toFile:方法,传入需要归档的文件,和归档的目标位置

</br>

解档

  1. 使对象遵守NSCoding协议
  2. 实现对象的initWithCoder:方法,在该方法中调用[aDecoder decodeObjectForKey:方法解析所需的属性
  3. 调用NSKeyedUnarchiverunarchiveObjectWithFile:方法进行解档

</br>

注意事项

  1. 如果归档时,所存的属性中包含自定义的对象,则这些自定义的对象也需要遵循NSCoding协议,并实现encodeWithCoder:方法
  2. 如果解档时,解析的属性中包含自定义的对象,则这些自定义的对象也需要遵循NSCoding协议,并实现initWithCoder:方法
  3. initWithCoder:方法中,只有当父类遵守了NSCoding协议时,才能使用[super initWithCoder:]方法
  4. 对于UIView以及其子类,initWithCoder:方法先于awakeFromNib方法调用。前者在解析文件、子控件还未加载时调用,后者在子控件全部加载完毕后调用。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容