CoreDataデータフォーマット

2007/03/30 (Fri) 22:07:46 JST

データフォーマット

Tigerでは、Core Dataは管理オブジェクトコンテキストの保存先に3種類のフォーマットをサポートしています。

各フォーマットにはそれぞれ長所と短所があります。 XMLフォーマットは人も読むことができ、テストに最適です。 バイナリフォーマットは人には読めませんが、XMLフォーマットよりも高いパフォーマンスを持ちます。 どちらのフォーマットも基本的、つまり一度の操作ですべてのデータモデルをディスクから読み書きします。

最後のSQLiteフォーマットは最も安定した、かつ高速なフォーマットです。 SQLiteはTigerに含まれるオープンソースの組み込みデータベースで、Core Dataのストレージレイヤーとして理想的な性質が多くあります。 SQLiteはオブジェクトを必要な分だけディスクからメモリにロードでき、Core Dataの効率を劇的に上げます。 これにより、巨大なデータを扱うアプリケーションでも使用メモリ量を大幅に抑えることが可能です。

どのフォーマットにとっても重要な点は、Core Dataは常にファイルを変更する可能性があることです。 XMLやSQLiteフォーマットではカバーの下を覗くのも何が行われているかを見るのも簡単ですが、ファイル中のデータは決して変更してはいけません。

独自のフォーマットの使用

すでにあるアプリケーションフォーマットもCore Dataと共に使えます。 そのファイルを読み込み、Core Dataのオブジェクトグラフを生成する必要があります。 自動アンドゥ/リドゥのサポートなど、Core Dataのすべての機能を使えます。


Inverse Pages: DevelopingWithCoreData