2012-03-01 3 views
0

私は、重複配列を初期化してviewDidUnloadにリリースしたメインビューを持っています。だから、私が命令を持っている別のビューに変更して、メインビューに戻ったとき、すべての配列は再びゼロになります。ビュー間に配列を保持する

私は何をすればいいのですか:アプリケーションがランチされると、配列は初期化され、使用され、他のビューに行くことができ、メインビューに戻ると、アプリは近くにあり、すべての配列を解放します。

どうすればいいですか?

答えて

0

-deallocで解放し、viewDidLoadで初期化してください。そうすれば、ビューがシャットダウンしたときに解放または無効化され、再ロードされると再初期化されます。

これが役に立ちます。

0

問題に対してさまざまな方法を使用できます。私はいくつかの方法を教えてくれます。

  • NSArrayをパラメータとして使用するビューの初期化のためのメソッドを記述できます。同様:

    - (id)initWithArray:(NSArray *)myArray { 
        [super init]; 
        //here you can store an NSArray inside this ViewController in @property. For ex: 
        currentArray = myArray; 
        return self; 
    } 
    
  • あなたはCoreDataのようなグローバルストレージを使用して、すべてのビューで必要なオブジェクトのインスタンスを定義するにはNSManagedObjectクラスを使用することができます。

  • delegate approachを使用できます。たとえば、最初のビューで2番目のビューからメソッドを委譲できます。

+0

本当にありがとうございますが、私はあなたが本当に初心者だと言いましたが、どこにコードを挿入する必要がありますか?私は、ヘッダーと実装た: ViewController.hとViewController.m ここではinitilizationある: - { // inicilizaラタブラ tableViewData = [[NSMutableArrayのALLOCを]のviewDidLoad(ボイド) initWithObjects:nil]; tableViewDataDetail = [[NSMutableArray alloc] initWithObjects:nil]; [super viewDidLoad]; } 他のビューに移動して戻ってくるたびに、入力したデータが失われます。 どのようにしてinitWithArrayを使用する必要がありますか? もう一度申し訳ありません。 – user1243660

関連する問題