1

私はタブビューコントローラーを持っているアプリを持っています。すべてのデータは動的で、1 つのタブで入力するとデータが読み込まれますが、タブを変更して最初のタブに戻っても、そのデータは失われていません。私の問題は、新しいviewcontroller(タブの外側)を作成し、そこに入ってタブに戻ると、すべての情報が失われていることです!

初期データを保持する方法はありますか? そのため、ユーザーが別のビューに移動して戻ってきたときに、データを失う必要はありません。

そして別の質問です。とにかく、アプリ内のすべてのビューコントローラーで使用できる変数を定義することはありますか?

4

2 に答える 2

2

あるタブから別のタブに移動しても、データは変更されません。 に特別なコードがあるかどうかを確認する必要がありますviewWillAppear。この関数でデータをロードする場合は、タブを移動するときに viewWillAppear が呼び出されることを知っておく必要があります。

グローバル データについては、appDelegate クラスでそれらを定義し、appDelegate にプロパティを追加すると、次のようにアクセスできます。

//Add this on the header of your class
#import "MyAppDelegate.h"

//Then access the delegate like this
MyAppDelegate *myAppDelegate = [UIApplication sharedApplication].delegate;
//Access your variables
myAppDelegate.myVariables;
于 2012-06-13T11:26:52.230 に答える
1

この一般的なデータは何ですか?オブジェクトの場合、retainと呼びます。ただし、データ型の場合は、静的に作成して、それを返すメソッドを作成してみてください。または、オブジェクトでラップして(たとえば、float、double、intなどの場合はNSNumberのように)、retainを呼び出します。

于 2012-06-13T11:23:53.737 に答える