タグ

2010年12月23日のブックマーク (3件)

  • ちょっとだけ本格的なiPhone Core Dataアプリケーションへの拡張

    関連を使った拡張を行う 以前の記事「初めてのCore Data on iPhone」でCore Dataの超簡易サンプルとして紹介した「FirstCoreData」ですが、前回の説明では関連について全く触れていませんでした。 そこで今回は前回のサンプルに手を加えて、関連を使用した発展バージョンにしてみます。ちなみにこれもiPhone SDK 3.1.2用です。 残念ながら現在のXcodeでは操作方法が異なる部分があるため、そのまま応用することはできません。 基方針 まず、基的な設計についてですが、関連を使うために2つのエンティティからなるデータベースにします。親オブジェクトの中に子オブジェクトが複数格納されるスタイルです。 とりあえず今回はそれぞれのオブジェクトに名前を付けられるようにし、それをナビゲーションバー付きのテーブルビューで行ったり来たりできるようにします。 名前はテキストフ

    obys
    obys 2010/12/23
    NSFetchedResultsControllerでなくNSFetchRequestをつかって操作する方法が勉強になった
  • CoreData で SQLite のデバッグログを出力するには - 24/7 twenty-four seven

    Analyzing Fetch Behavior with SQLite With Mac OS X version 10.4.3 and later, you can use the user default com.apple.CoreData.SQLDebug to log to stderr the actual SQL sent to SQLite. (Note that user default names are case sensitive.) For example, you can pass the following as an argument to the application: -com.apple.CoreData.SQLDebug 1 Mac Developer Library アプリケーション起動時の引数に下記を指定します。 -com.apple.Cor

    CoreData で SQLite のデバッグログを出力するには - 24/7 twenty-four seven
  • Cocoaの日々: [iOS][Mac] CoreData - マイグレーション[1] NSEntityMigrationPolicy を使う

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど 以前、CoreData のマイグレーションについて調べたことがある。 (旧) Cocoaの日々: CoreData - マイグレーション これはマッピングモデルを定義するだけで簡単にできる、いわゆる「自動マイグレーション」を解説していた。 今回は NSEntityMigrationPolicy を使ったいわゆる「手動マイグレーション」について調べた。 マイグレーションの概要 Core Data ではエンティティ(テーブル)の定義を変更すると必ずマイグレーションを行う必要がある。例えば現在のアプリケーションをバージョンアップする際に属性 email2 を一つ追加する場合、マイグレーション設定を行わないと Core Data 利用時に例外が発生してアプリケーションが落ちてしまう。 (例)

    Cocoaの日々: [iOS][Mac] CoreData - マイグレーション[1] NSEntityMigrationPolicy を使う
    obys
    obys 2010/12/23
    手動マイグレーションのやり方。マイグレーション時にデータを変更する際等に有効