最近項(xiàng)目需要緩存祭芦,因?yàn)轫?xiàng)目都是用的對(duì)象剃毒,要緩存對(duì)象必須實(shí)現(xiàn)NSCoding協(xié)議斩芭,但是每個(gè)Model都要實(shí)現(xiàn)
- (void)encodeWithCoder:(NSCoder*)aCoder
- (id)initWithCoder:(NSCoder*)aDecoder
假如對(duì)象有100個(gè)屬性現(xiàn)實(shí)NScoding協(xié)議是一件很繁瑣的事情典勇,幸好Runtime能很好的解決這個(gè)問題桅锄。
實(shí)現(xiàn)的思路寫一個(gè)BaseModel琉雳,在BaseModel里實(shí)現(xiàn)?
- (void)encodeWithCoder:(NSCoder*)aCoder
- (id)initWithCoder:(NSCoder*)aDecoder
其他Model繼承BaseModel即可
具體實(shí)現(xiàn)方法可參看在簡(jiǎn)書中看到的一篇文章查看
我寫了一個(gè)demo 放在github上面有興趣的可以下載查看