2010-12-29 8 views
1

さて、私は同じデータを2回保存してNSKeyedArchiverを使ってファイルを約30KB大きくしました(60KBから90KBまで)。私はそれほど多くはないと知っていますが、これらのファイルはもっとたくさんあり、違いは何ですか?そして、もう一方を使用する利点は何ですか?NSKeyedArchiverまたは[NSArray writeToFile:atomically:]?

答えて

4

単純なオブジェクト、つまりプロパティリスト(本質的に文字列、数字、日付、バイトシーケンス、配列、辞書など)によってネイティブにサポートされているオブジェクトの場合、 - [NSArray writeToFile:atomically:]を使用できます。

複雑なデータを格納する場合、NSArray/NSDictionaryよりNSKeyedArchiverが優先/必要になります。 NSArrayまたはNSDictionaryによって作成されたプロパティリストとは対照的に、キー付きアーカイブには、オブジェクト、そのアイデンティティ、それらの関係、クラス、インスタンス変数、スーパークラスなどのオブジェクトグラフ階層全体に関するメタデータが含まれています。データがキーインされ、これは、キー(例えば、インスタンス変数)を無視することによって、前方互換性または後方互換性を維持するために使用することができる。 (キー付き)アーカイブの詳細については、Archives and Serializations Programming Guideをご覧ください。

関連する問題