iOS Developer Library

デベロッパ

Core Dataプログラミングガイド

Core Dataとは

Core Dataは、アプリケーションのモデル階層オブジェクトを管理するためのフレームワークです。オブジェクトの永続性をはじめ、ライフサイクルやオブジェクトグラフの管理に関連して、頻繁に必要となる様々な処理機能を、汎用化、自動化したソリューションが提供されています。

Core Dataを使うことで、一般に、モデル階層に対応するために記述するコードの量が50〜70%減少します。これは、以下の組み込み機能を実装、テスト、または最適化せずに済むことが主な理由です。

  • 変更を追跡する機能とともに、取り消し/再実行の処理を支援する機能が組み込まれています。単なるテキスト編集の取り消し/再実行にとどまらない、包括的な機構です。

  • 変更の影響範囲(オブジェクト間の関係の一貫性を含む)を維持管理できます。

  • オーバーヘッドを低減するための、オブジェクトの遅延読み込み、部分的な実体化(フォールティング)、「コピーオンライト」方式によるデータ共有の機構が組み込まれています。

  • プロパティ値の自動検証。管理オブジェクトは、標準的な「キー値コーディング」検証メソッドを拡張し、個々の値が許容範囲内であること、複数の値の組み合わせが妥当であることを検証できるようになっています。

  • スキーマの変更を簡潔化し、インプレースでの効率的なスキーマ移行を実現するスキーマ移行ツール。

  • アプリケーションのコントローラ階層との最適な統合による、ユーザインターフェイス同期の支援機能。

  • データのグループ化、しぼり込み、組織化(メモリ中、ユーザインターフェイス上の両方)。

  • 外部データリポジトリにデータを格納する処理の自動化。

  • 洗練されたクエリのコンパイル。SQLを記述する代わりに、NSPredicateオブジェクトにフェッチ要求を関連づけることにより、複雑なクエリを生成できます。

  • 版の追跡機能、楽観的ロック機構が組み込まれており、複数のプロセスによる書き込みの衝突を自動的に解消できます。

  • OS XおよびiOSのツールチェーンとの効率的な統合。