Giter Site home page Giter Site logo

ssobjectbase's Introduction

SSObjectBase

IOS 自定义对象 自动 序列化 反序列化 归档 基类

介绍:
前几天在项目中需要将自定义的对象归档,IOS归档自定义对象需要遵循NSCoding协议,但是需要保存的对象里面的属性还是自定义对象,而且还有多个层级,这时候想归档对象就变得很复杂了,于是寻觅通用的归档方法。

在网上找到了一篇文章,介绍的是将自定义对象归档为JSON的方法,受到它的启发,做了这个封装。(文章链接找不到了,感谢该文章作者) 
 
完成了以后发现很好用,于是拿出来分享! 

用法很简单,只要保证需要归档的对象继承自SSObjectBase基类即可。 

 

序列化方法: 

	调用saveToFile:传入保存路径, 

反序列化方法: 

	调用loadFromFile:传入归档文件路径 

 

SSObjectBase有以下特点: 

	1、只归档属性值,属性必须是支持读与写的。 

	2、同时支持自定义对象,NS系列对象,普通变量(如int,double,BOOL)的归档 

	3、支持自定义对象的属性也是自定义对象的归档。 

	4、对于特殊的属性,只需要重载基类NSCoding协议里面的两个方法即可 

虽然限制很多,但是已经能满足大部分需求了。另外,实现文件里面注释掉的代码,可以用于获取属性的类型,算是给扩充SSObjectBase提供思路吧!

ssobjectbase's People

Contributors

qzs21 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.