2012-05-13 4 views
0

У меня есть некоторые детали, хранящиеся в NSDictionary. Я использую представление Master-Detail на iPad, и после того, как я добавил метод initWithCoder, мое приложение падает при запуске, и я не знаю, как заставить его работать.Пытается использовать NSCoder сбой приложения при запуске

Причина, по которой я хочу использовать NSCoder, заключается в том, чтобы хранить данные моего пользователя и показывать его, как только он снова запустит приложение. NSUserDefaults не представляется возможным, поскольку я храню UITextFields и UISegmentedControls внутри словаря для удобства обработки данных.

- (id)initWithCoder:(NSCoder *)aDecoder { 
    if (self = [super init]) { 
     personInfo = [aDecoder decodeObjectForKey:myString]; 
    } 

    return self; 
} 

- (void)encodeWithCoder:(NSCoder *)aCoder { 
    [aCoder encodeObject:personInfo forKey:myString]; 
} 

Может ли кто-нибудь сказать мне, как правильно его использовать?

+0

Это другой вопрос любое использование? http://stackoverflow.com/questions/3943801/objective-c-how-do-i-use-initwithcoder-method –

+0

Это помогло немного - это больше не грозит. Не могли бы вы рассказать мне, как сохранить эти данные после кодирования? –

+0

Возможно, нет; Я ничего не знаю о Какао :-). Но если ваш код больше не терпит крах, но вы все еще недовольны тем, что он делает, вы, вероятно, должны либо изменить вопрос, чтобы отразить новое состояние мира, либо опубликовать новый. (Если что-то изначально неправильно было исправлено, вы можете опубликовать ответ, объясняющий, в чем проблема, и как вы его исправили, и примите свой собственный ответ. Это может быть полезно будущим читателям.) –

ответ

0

Я установил его, просто говоря

self = [super initWithCoder:aDecoder] 

вместо того, чтобы просто

self = [super init] 
Смежные вопросы