子类的UILabel存储在序列化视图中,不存储自定义变量



那么,我有一个正在序列化并存储在文件中的视图。在该视图中,它的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]。这将导致一个不正确的序列化对象,我不确定后果是什么,但你似乎已经找到了其中一个!

最新更新