2012-05-13 13 views
0

NSDictionary内にいくつかの詳細が格納されています。 iPad上でMaster-Detailビューを使用していて、initWithCoderメソッドを追加した後、起動時にアプリケーションがクラッシュし、動作させる方法がわかりません。NSCoderを使用しようとすると起動時にアプリケーションがクラッシュする

私がNSCoderを使用したい理由は、ユーザーのデータを保存して、再度アプリケーションを起動すると表示できるようにするためです。私はUITextFieldsとUISegmentedControlsを辞書の中に格納しているので、NSUserDefaultsは実行できません。

- (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] 
関連する問題