通過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;
}