2010-12-01 19 views
0

私は、2つのビューを切り替えるビューコントローラを起動するappdelegateを持っています。マルチビューアプリケーションで状態を維持する

私の質問は、私が状態を維持したいということです。私はこれがappdelegate applicationWillTerminateで行われていることを知ります。私の質問は、2つのビューからボタンテキストとテーブルビューデータにアクセスする方法と、テーブルデータを保持する最善の方法は何ですか?

答えて

0

NSUserDefaultsを使用してみてください、現在の画面を永続化するために:あなたは限り、あなたのように、コアデータストアを使用して、テーブルのデータへのアクセスおよび変更のための店自体を編集している場合は、他人のために

[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:kLastOpenedScreenKey]; 

をmanagedObjectContextを保存すると、再読み込みはそれ自身を処理する必要があります。

NSManagedObjectContext *moc = [self managedObjectContext]; 
NSError *error; 
if (![moc save:&error]) { 
    NSLog(@"Couldn't save!"); 
} 

EDIT:ただ、このようなコードでストアを変更した後に、データを保存してくださいあなたがappDelegateでいないのであれば、そして、インスタンス変数にmanagedObjectContextを設定する行を使用していません代わりにコード:

NSManagedObjectContext *moc = [[[UIApplication sharedApplication] delegate] managedObjectContext]; 
+0

ありがとうSamはNSManagedObjectContext大きなテーブルビューを保存するための良いオプションですか?また、appviewleteateとは別のビューにあるtableviewと配列にアクセスするにはどうすればいいですか?applicationWillTerminateの保存をトリガする必要がありますか? –

+0

テーブルビューと配列のデータはどこに保存していますか?コアデータストアに保持している場合、appDelegateで同じmanagedObjectContextを使用し、データソースでView Controllerを使用している限り、保存によってすべてがターゲットになります。私はappDelegateの外からmocにアクセスするのに役立つ別のコード行で答えを更新します。 –

+0

コアデータストア(サーバー、またはどこかのplistファイル)に保存していない場合は、保存している限り、特定の保存を心配する必要はありません各編集後のデータストア。 –

関連する問題