那么,我有一个正在序列化并存储在文件中的视图。在该视图中,它的n子类化的uilabel,唯一的区别是活动属性。我在UILabel子类中有initwithcoder和encodewithcoder,但我仍然无法在标签中获得自定义变量。我已经包括了我的子类的方法和以下内容。如有任何帮助,不胜感激。
定制UILabel:- (id) initWithCoder:(NSCoder *)decoder
{
self = [super initWithCoder:decoder];
if (self != nil) {
self.live = [decoder decodeBoolForKey:@"live"];
}
return self;
}
-(void)encodeWithCoder:(NSCoder *)aCoder {
[aCoder encodeBool:self.live forKey:@"live"];
}
因为我只是取消存档视图,其中包含标签,我假设ios不取消存档自定义标签?
谢谢
您正在错过呼叫[super encodeWithCoder:aCoder]
。这将导致一个不正确的序列化对象,我不确定后果是什么,但你似乎已经找到了其中一个!