通过YYCache无法缓存自己定义的model类型。
1.如果model是通过MJ解析的,则解决方法
- (void)encodeWithCoder:(NSCoder*)aCoder{
[self mj_encode:aCoder];
}
- (id)initWithCoder:(NSCoder*)aDecoder{
self= [super init];
[self mj_decode:aDecoder];
return self;
}
2 如果model是通过YYModel解析的,则解决方法
- (void)encodeWithCoder:(NSCoder*)aCoder{
[self yy_modelEncodeWithCoder:aCoder];
}
- (id)initWithCoder:(NSCoder*)aDecoder{
self= [super init];
[self yy_modelInitWithCoder:aDecoder];
return self;
}
3。如果是通过key-value 自己解析的话,则可以(与.h中的定义的字段一致)
- (void)encodeWithCoder:(NSCoder*)aCoder{
[aCoderencodeObject:self.channelId forKey:@"channelId"];
[aCoderencodeObject:self.channelName forKey:@"channelName"];
[aCoderencodeObject:self.sort forKey:@"sort"];
[aCoderencodeObject:self.channelColor forKey:@"channelColor"];
}
- (id)initWithCoder:(NSCoder*)aDecoder{
if((self= [super init])) {
self.channelId= [aDecoderdecodeObjectForKey:@"channelId"];
self.channelName= [aDecoderdecodeObjectForKey:@"channelName"];
self.sort= [aDecoderdecodeObjectForKey:@"sort"];
self.channelColor= [aDecoderdecodeObjectForKey:@"channelColor"];
}
return self;
}