2012-02-27 11 views
0

テキストフィールドに入力したものを、後で表示されるnsmutable配列に表示しようとしています。 問題は - (void)viewDidLoadメソッドにあると思いますが、すべてのコードをちょうどの場合に含めました。キャッチとは、このページを離れ、別の情報が選択された後に戻ることです。これが起こると、私はテキストフィールドに入力されたそれぞれのものを追跡する必要があります。助けてくれてありがとう!NSMutableArrayにテキストフィールドを追加する方法

答えて

0

viewDidLoadが呼び出された場合、 "displayedClass"はまだ初期化されていないため、nilではありません。

Important Raises an NSInvalidArgumentException if anObject is nil. 

ビューを残すことによって、viewDidUnload法でのaddObjectコールを追加することを保存したい場合は

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html。間違いなく値がnilであるかどうかを確認する必要があります;

私はあなたの変数shownClassを参照していませんが、リリース! viewDidUnloadが呼び出している場合、変数は存在しない可能性があります。

EDIT

あなたはNSMutableArrayのをinitに、この配列にオブジェクトを追加し、そのあとは、そのオブジェクトをリリースしました。したがって、データは離れています。後でコンテンツを使用することができるので、配列を保存する必要があります。キーワード:NSUserDefaults;)また、nilの値の

チェック:何、この変更されたコードについてそう

- (IBAction)enteredClassText:(id)sender { 
    if (sender.text != nil) { 
     NSMutableArray *classesEntered = [NSMutableArray arrayWithObject:sender.text]; 
     // TODO: Save your array to NSUserDefaults... 
    } 
} 
+0

- (IBAction)enteredClassText:(id)sender { if (indicatedClass != nil) { NSMutableArray *classesEntered = [[NSMutableArray alloc] init]; [classesEntered addObject:indicatedClass]; [classesEntered release]; } } 

送信者はあなたもこのスニペットを使用することができますUILabelの場合は?コードを別の方法で使用します。 – mentorship

+0

私の答えを編集;) – matzino

+0

それはテキストが構造体または共用体ではないと言います... – mentorship

関連する問題