1

こんにちは、cllocation 値の配列があります。その配列を userdefaults に保存する必要があります...どうすればよいですか...?
こんにちは、これらのオブジェクトを配列に追加します: [AM_locationMP.favArray addObject:[AM_locationMP.locationData objectAtIndex:AM_locationMP.indexno]];

ここで、場所データは場所の目印値の配列です。

ここで、maplocationVO クラスは目印 MapLocationVO *currentMapLocation; 用です。

[AM_delegate.locationData addObject: currentMapLocation];

4

3 に答える 3

1

明らかに答えがわからない、または NSUserDefaults に保存できるものと保存できないものを理解していないのに、なぜ人々はここに投稿するのでしょうか?

NSUserDefaults クラスは、float、double、integer、Boolean、URL などの一般的な型にアクセスするための便利なメソッドを提供します。デフォルト オブジェクトは、プロパティ リスト、つまり、NSData、NSString、NSNumber、NSDate、NSArray、または NSDictionary のインスタンス (またはコレクションの場合はインスタンスの組み合わせ) である必要があります。他のタイプのオブジェクトを保存する場合は、通常、アーカイブして NSData のインスタンスを作成する必要があります。詳細については、プリファレンスおよび設定プログラミング ガイドを参照してください。-- ドキュメントより

CLLocation データを NSData に変換するには、NSKeyedArchiver を使用する必要があります。次に、NSKeyedUnarchiver を使用して NSData を CLLocation データに戻します。

次に解決すべき問題は、CLLocation オブジェクトをアーカイブして UserDefaults に保存するときに、適切にアーカイブ解除されないことです。唯一の解決策は、代わりにそれらをファイルに保存することです。

于 2013-08-01T23:59:21.373 に答える
0

これを使って

配列設定用

NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];

  [standardUserDefaults setObject:yourArray forKey:@"array"];
  [standardUserDefaults synchronize];

配列を取得するため

NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];

  [standardUserDefaults setObject:yourArray forKey:@"array"];

NSMutableArray *array=[standardUserDefaults objectForKey:@"array"];
于 2011-02-24T13:11:35.637 に答える
0

これはそれを書くのに十分なはずです:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:yourArray forKey:@"clArray"];
[defaults synchronize];
于 2011-02-24T13:07:42.330 に答える