UILabel в подклассе хранится в сериализованном представлении без сохранения пользовательских переменных - PullRequest
1 голос
/ 19 декабря 2011

Итак, у меня есть представление, которое сериализуется и сохраняется в файле. В этом представлении есть n подклассов UILabels, с единственным отличием, являющимся свойством live . У меня есть initwithcoder и encodewithcoder в подклассе UILabel, но я все еще не могу получить пользовательскую переменную внутри метки. Я включил методы моего подкласса и ниже. Любая помощь приветствуется.

Custom 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 не разархивирует пользовательские метки?

Спасибо

1 Ответ

0 голосов
/ 19 декабря 2011

Вы пропустили звонок на [super encodeWithCoder:aCoder].Это приведет к неправильно сериализованному объекту, я не уверен, каковы будут последствия, но вы, кажется, нашли один из них!

...