首先我们先看一下不用runtime的写法,大家可能感觉很简单为什么要用runtime来实现,但是试想一下如果一个对象有很多很多的属性,我们还要一行一行写吗,和从json中给模型赋值一个道理,还是要用runtime装一下*,要不然别人怎么知道你会😂😂
1 | // 归档 |
帅气的扶了扶眼镜,大家注意,我要开始装*了
1 | class Model: NSObject, NSCoding { |
- 使用runtime解档归档的时候一定要在属性前加上
dynamic
关键字,并且不能使用可选属性*
######下面我们准备一下要归档的模型和文件路径1
2
3
4
5let model = Model()
model.name = "FlyChang"
model.age = 25
var path = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true).last
path = path! + "/Model"
归档
1 | let data = NSMutableData() |
解档
1 | let data = NSData(contentsOfFile: path!) |