私は、重複配列を初期化してviewDidUnload
にリリースしたメインビューを持っています。だから、私が命令を持っている別のビューに変更して、メインビューに戻ったとき、すべての配列は再びゼロになります。ビュー間に配列を保持する
私は何をすればいいのですか:アプリケーションがランチされると、配列は初期化され、使用され、他のビューに行くことができ、メインビューに戻ると、アプリは近くにあり、すべての配列を解放します。
どうすればいいですか?
私は、重複配列を初期化してviewDidUnload
にリリースしたメインビューを持っています。だから、私が命令を持っている別のビューに変更して、メインビューに戻ったとき、すべての配列は再びゼロになります。ビュー間に配列を保持する
私は何をすればいいのですか:アプリケーションがランチされると、配列は初期化され、使用され、他のビューに行くことができ、メインビューに戻ると、アプリは近くにあり、すべての配列を解放します。
どうすればいいですか?
-deallocで解放し、viewDidLoadで初期化してください。そうすれば、ビューがシャットダウンしたときに解放または無効化され、再ロードされると再初期化されます。
これが役に立ちます。
問題に対してさまざまな方法を使用できます。私はいくつかの方法を教えてくれます。
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番目のビューからメソッドを委譲できます。
本当にありがとうございますが、私はあなたが本当に初心者だと言いましたが、どこにコードを挿入する必要がありますか?私は、ヘッダーと実装た: ViewController.hとViewController.m ここではinitilizationある: - { // inicilizaラタブラ tableViewData = [[NSMutableArrayのALLOCを]のviewDidLoad(ボイド) initWithObjects:nil]; tableViewDataDetail = [[NSMutableArray alloc] initWithObjects:nil]; [super viewDidLoad]; } 他のビューに移動して戻ってくるたびに、入力したデータが失われます。 どのようにしてinitWithArrayを使用する必要がありますか? もう一度申し訳ありません。 – user1243660