iPhoneでCoreData – 初心者Try編①

iPhoneでCoreDataを使ったアプリを作成してみたいと思います。

まず、 Window-Basedのアプリケーション用プロジェクトを作成しましょう。

「Use CoreData for storage」にチェックを入れるのを忘れないでください。

 

 

 

 

今回は、「MyCoreData」というプロジェクトを作成しました。

出来上がったプロジェクトの「Resources」には、「プロジェクト名.xcdatamodel」というファイルができているはずです。

 

 

以後、このファイルに対して、エンティティやその項目などのモデル情報を定義していきます。

まずは、新しいエンティティを作成してみましょう。

右下のペインのエンティティの左下部分(赤丸で囲んだ部分)をクリックすると、エンティティが追加されますので。作成したいエンティティを入力します。

 

 

今回は歌とその歌手のモデルを作成しようと思いますので、まず、エンティティ「Song」を作成しましょう。名前に「Song」と入力してください。クラスと親はそのままで大丈夫です。

 

 

次に、Songが持つ項目を定義しています。最初に、歌のタイトルの項目を「songTitle」という名前で定義します。図中の赤丸部分をクリックして「属性を追加」を選択して項目を追加しましょう。データ型は「文字列」で。

 

 

 

 

もうひとつ、「id」という項目も追加しておきましょうか。上記と同様にして、追加してみましょう。データ型は文字列でOKです。下の図のようになったらうまくいっていると考えてよいと思います。

 

 

では、その歌を歌ったアーティストのエンティティ(Artist)も作成してください。項目には「name」を追加しましょう。下の図のようになりましたでしょうか。

 

 

 

さて、次に、「songs」という項目も追加しようと思います。これは、その歌手が歌った「Song」を表す項目で、複数の「Song」と関係性を持ちます。そのため、項目を追加する時には、「関連を追加」を選択してください。

関係する先が「Song」 ですので、デスティネーションは「Song」、一人のアーティストは複数の「Song」を持っていますので、「対多関連」にチェックを入れましょう。

 

 

さて、ここまでできたところで、「Song」から見た「Artist」の関係について考えてみましょう。先ほどの関連とは逆向きに、関係性があることがわかります。また、その関係性は、一つの「Song」に対して、一人の「Artist」になりますね。これを、「singer」という名称の項目として追加すると、下図のようになると思います。お互いに矢印のリレーションが張られていることに着目してください。

 

 

「次に」をクリックすると、ManagedObjectを生成する対象のモデルを選択する画面になりますので、「Song」と「Artist」両方にチェックを入れて、「完了」ボタンを押します。両クラスのヘッダと実装ファイルができていることを確認してください。

 

 

いかがでしたでしょうか。今回は、xcodeで、エンティティ(モデル)を作るところまで行いました。

次回は生成したモデルを利用してテーブル形式のアプリを作成してみましょう。

 

コメントを残す

サブコンテンツ

このページの先頭へ