1

以下に示すように、このコードを通過しました。ボタン(IBAction)を作成せずに既存の注釈ピン情報をNSUserdefaultに保存するにはどうすればよいですか?NSUserDefaultコードをviewWillDisappearに配置する必要がありますか?それは正しい方法ですか?

保存する:

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
[ud setDouble:location.latitude forKey:@"savedCoordinate-latitude"];
[ud setDouble:location.longitude forKey:@"savedCoordinate-longitude"];
[ud setBool:YES forKey:@"savedCoordinate-exists"];
[ud synchronize];
4

2 に答える 2

2

viewWillDisappear状態を保存するためによく使用される1つの瞬間ですが、それが唯一の場所または唯一の可能な場所ではありません。ユーザーがアプリを一時停止した場合はどうなりますか?あなたは得られませんviewWillDisappearviewWillDisappear注釈情報にアクセスできる場所でない場合はどうなりますか?おそらく、注釈が作成されるときに、ユーザーのデフォルトに情報を保存し続ける方がよいでしょう。それはあなたのアプリの性質と目的とアーキテクチャに依存します。それはあなたが解決する問題です。あなたの仕事は、コードがイベント駆動型フレームワークの下でいつ実行されるかを知り、適切に動作することです。

于 2012-10-04T02:12:17.380 に答える
1

そのデータを保存したいときは、どこにでもそのコードを置くことができます。NSUserDefaultsはどこからでもアクセスできます。同期はそれをディスクに保存するものです。

于 2012-10-04T02:10:07.123 に答える