1.OC中
屬性比較少的話 ,可以一個(gè)屬性一個(gè)屬性的去實(shí)現(xiàn)恶复,但是假如多的話就利用runtime怜森,很容易的就實(shí)現(xiàn)了NSCoding的自動(dòng)歸檔和解檔齐遵。
當(dāng)然我們可以直接調(diào)用MJExtension的一個(gè)宏定義(MJCodingImplementation),并且調(diào)用NSCoding代理塔插,就一句話就可以實(shí)現(xiàn)了。
@implementation DMProductModel
MJCodingImplementation
@end
參考文章:http://www.reibang.com/p/19f280afcb24
2.swift
我們沒辦法去調(diào)用MJExtension的宏定義拓哟,但是我們可以調(diào)用MJExtension去實(shí)現(xiàn)里面的方法:
下面就是源代碼
class BaseModel: NSObject,NSCoding{
//父類的init方法是必須去實(shí)現(xiàn)的
override init() {
super.init()
}
required convenience init?(coder aDecoder: NSCoder) {
self.init()
self.mj_decode(aDecoder)
}
func encode(with aCoder: NSCoder) {
self.mj_encode(aCoder)
}
}
文件地址:
https://github.com/MyHZ/HZCoding.git
接下來 記錄一下如何使用 EGOCache存儲數(shù)據(jù)
http://www.reibang.com/p/38d719498ea5