More Related Content
Similar to Core Data (20)
More from Kosuke Matsuda (11)
Core Data
- 2. iOSでSQLiteを利用する
• libsqlite3 (C library)
• Objective-C wrapper (FMDB)
• O/RM (ActiveRecord, MojoDatabase)
• CoreData
• CoreData + 3rd library (MagicalRecord)
- 3. CoreDataとは
• Core Data はモデルオブジェクトを永続
化するためのフレームワークです。
サルでもわかる Core Data 入門【概念編】(http://d.hatena.ne.jp/glass-_-onion/20111015/1318667971)
• Core Dataはメモリ上のオブジェクトグ
ラフを操作するためのもの
Core Dataと(R)DBMSとは何が違うか?(http://macisv.jp/blog/?p=264)
- 5. • NSPersistentStore
永続ストア、データの保存先(主にSQLite、MacだとXMLとかも)
• NSPersistentStoreCoordinator
NSPersistentStoreを管理
• NSManagedObjectContext
データの検索や登録を管理する
• NSManagedObjectModel
全エンティティ同士の関連を管理する
- 6. • NSManagedObject
Modelオブジェクト。データ(レコード)
• NSEntityDescription
各エンティティの定義を管理する(テーブル)
• NSFetchRequest
検索条件を管理する
- 23. Cons
• 規約、ルールが多い
テーブル名やカラム名に"Z"がつく。メタデータテーブルやカラム
に"Z_"がつく
• マイグレートにかなり時間がかかる(らし
い)
- 24. • 検索条件にNSPredicateオブジェクトを使用す
るので、SQL文に慣れていると把握しづらい
ただしNSArrayなどでも利用されるので使い方を知っておいても損は
ない
• NSFetchedResultsController1つに対して1つの
エンティティにしか対応していない
Editor's Notes
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n