CoreDataFAQ
2007/03/30 (Fri) 22:07:46 JST
Core DataはEOFに似ていますが、何が異なるのでしょうか?
Core DataとEOF (WebObjectsに含まれるEnterprise Objects Framework) は基盤となるコンセプトを共有していますが、異なる目標を持っています。EOFはクライアントかデータベースサーバへ接続するJavaのフレームワークです。一方、Core Dataはデスクトップアプリケーション開発に向けて設計されたObjective-Cのフレームワークです。Core DataにはEOFにない機能があり、EOFにもCore Dataにない機能があります。
EOFのみサポートしている機能
EOFはSQL文のカスタマイズ、共有編集コンテキスト、編集コンテキストのネストをサポートしてます。 Core Dataには?EOModelGroupに相当するクラスがありません。 その代わりに?NSManagedObjectModelが、既存のモデルを1つにまとめたり、バンドルからまとめてモデルを取得するメソッドを持っています。EOFはリレーションシップのプリフェッチとバッチフォールティングをサポートしてますが、Core Dataはサポートしていません。
Core Dataのみサポートしている機能
Core Dataは次の機能をサポートしています。
- フェッチプロパティ
- 管理オブジェクトモデルの複数の設定
- ローカルストア (※ローカルマシンでのデータ保存)
- ストアの統合 (エンティティの、複数のストアに渡るデータ)
- プロパティ名のカスタマイズ、ローカライズと検証
- 述語によるプロパティの検証
クラスマッピング
次のリストはCore DataとEOF間に該当するクラスです。
- NSManagedObject は ?EOGenericRecord に該当します。
- ?NSManagedObjectContext は EOEditingContext に該当します。
- ?NSManagedObjectModel は EOModel に該当します。
- ?NSPersistentStoreCoordinator は ?EOPersistentStoreCoordinator に該当します。
- ?NSEntityDescription, ?NSPropertyDescription, ?NSRelationshipDescription, ?NSAttributeDescription はそれぞれ EOEntity, EOProperty, EORelationship, EOAttribute に該当します。
Inverse Pages: CDPGIntroduction CoreData CoreDataProgrammingGuide