-1

私のアプリケーションのモデルは、それぞれが特定の数の NSDictionaries を含む他のいくつかの NSMutableArray を含む NSMutableArray で構成されています。コア データを使用せずにメイン配列を深く格納する方法はありますか (つまり、それとそのすべてのコンテンツを格納することを意味します)。まだ使い方がわからない?現時点では、NSUserDefaults の使用方法を知っていますが、NSUserDefaults を使用して配列を深く保存する方法はありますか?

4

3 に答える 3

1

配列とそのすべての内容 (辞書を含む) にプロパティ リスト互換オブジェクトのみが含まれている場合は、NSUserDefaults.

プロパティ リストと互換性のあるクラスは次のとおりです。

  • NSString
  • NSDate
  • NSData
  • NSNumber
  • NSValue
  • NSArray
  • NSDictionary
于 2012-09-24T13:19:45.660 に答える
0

NSUserDefaultsのいずれかを試してください

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:rootArray forKey:@"myKey"];

...

NSArray *savedArray = [defaults objectForKey:@"myKey"];

データが小さい場合、または大きい場合はNSCoding

// To save to disk
[NSKeyedArchiver archiveRootObject:rootArray toFile:@"filePath"];

// To load from disk
NSArray *savedArray = [NSKeyedUnarchiver unarchiveObjectWithFile:@"filePath"];

または、sqlite3 C ラッパーを見ることができますか?

于 2012-09-24T13:20:27.737 に答える
0

ニコライの答えに従うには、独自のカスタムオブジェクトを配列と辞書に入れる場合は、それらがシリアル化できることを確認してください。

詳細については、アーカイブおよびシリアライゼーション プログラミング ガイドを参照してください。

于 2012-09-24T13:21:06.207 に答える