タグ

Objective-CとCoreDataに関するMuneOchiのブックマーク (2)

  • CoreData の NSManagedObject のサブクラスを変更する場合はカテゴリを使うと便利 - 24/7 twenty-four seven

    CoreDataのモデルクラスはXcodeのモデルエディタから自動生成しますが、生成されたクラスにメソッドを追加したりしたいことがあると思います。 そのとき、自動生成されたファイルを直接変更してしまうと、モデルに変更がありモデルクラスを再生成したときにその変更が上書きされてしまいます。 そこで、カテゴリを使って追加部分は別のファイルに分けておくと、モデルクラスを再生成しても後から追加した部分は上書きされずに残るのでそのまま使えます。 例えば下記のようなクラス (Event.h) があるとして、条件でフェッチするメソッドや、日付をフォーマットして返すメソッドを Event+CoreData.h/m や Event+Formatter.h/m として別ファイルに定義します。 // Event.h #import <Foundation/Foundation.h> #import <CoreDa

    CoreData の NSManagedObject のサブクラスを変更する場合はカテゴリを使うと便利 - 24/7 twenty-four seven
    MuneOchi
    MuneOchi 2013/04/16
    NSManagedObject のサブクラスのメソッド追加
  • Cocoaの日々: CoreData - マイグレーションを考慮した CoreDataManager パターン

    CoreData を使うアプリであればこの程度の件数はすぐに行くので、起動時にマイグレーションが走ると確実に落ちてしまう。これを防ぐためには起動時に CoreData へアクセスさせないのが最低限の対策になるが、その場合でもユーザが CoreData へアクセスする操作を行った瞬間にマイグレーション処理に時間がかかって画面が固まったようになるのでユーザビリティは良くない。 マイグレーションを考慮したパターン よって CoreDataを使うアプリではマイグレーション用の画面を用意するのがベスト。処理フローはこんな感じ。 起動 ↓ (1)マイグレーションチェック もし必要なら、マイグレーション用の画面へ遷移し、(2)マイグレーション実行 ↓ 通常画面マイグレーションチェックは NSPersistentCoordinator を使えばわかる。 Cocoaの日々: [iOS][Mac] CoreD

    Cocoaの日々: CoreData - マイグレーションを考慮した CoreDataManager パターン
    MuneOchi
    MuneOchi 2012/10/25
    CoreData Migration
  • 1