IOS 自定义对象 自动 序列化 反序列化 归档 基类
介绍:
前几天在项目中需要将自定义的对象归档,IOS归档自定义对象需要遵循NSCoding协议,但是需要保存的对象里面的属性还是自定义对象,而且还有多个层级,这时候想归档对象就变得很复杂了,于是寻觅通用的归档方法。
在网上找到了一篇文章,介绍的是将自定义对象归档为JSON的方法,受到它的启发,做了这个封装。(文章链接找不到了,感谢该文章作者)
完成了以后发现很好用,于是拿出来分享!
用法很简单,只要保证需要归档的对象继承自SSObjectBase基类即可。
序列化方法:
调用saveToFile:传入保存路径,
反序列化方法:
调用loadFromFile:传入归档文件路径
SSObjectBase有以下特点:
1、只归档属性值,属性必须是支持读与写的。
2、同时支持自定义对象,NS系列对象,普通变量(如int,double,BOOL)的归档
3、支持自定义对象的属性也是自定义对象的归档。
4、对于特殊的属性,只需要重载基类NSCoding协议里面的两个方法即可
虽然限制很多,但是已经能满足大部分需求了。另外,实现文件里面注释掉的代码,可以用于获取属性的类型,算是给扩充SSObjectBase提供思路吧!