パフォーマンス上の理由から、膨大な量の任意のバイナリ データに plist や xml を使用することはお勧めできません。
私のデータ形式が(いくつかの文字列、整数、バイナリデータ)の配列であり、バイナリデータのサイズが数メガバイトを超え(固定されていません)、配列のサイズが数百であるとします。Documents ディレクトリの 1 つのファイルにデータ全体をシリアル化して保存し、そのファイルから一部のデータのみをメモリに読み取りたいと考えています。そのため、最初は plist を使用することが要件を達成する方法であると考えましたが、上記のように良い方法ではありません。
この問題を回避する 1 つの方法は、バイナリ データの代わりにバイナリ データのパスを使用することです。その後、Core Data などを使用できます。しかし、それでは要件を満たしていません。
適切なフレームワークを見つけるのに数日を費やしましたが、何もないようです。私の場合、独自のエンコーディングおよびデコンディング メソッドを作成する必要がありますか? NSArchiving は私の要件を達成するのに十分ですか?