第3章【モデルのパターン】を読む(後編) ー あるいは、己の思い上がりにつまづく ー

投稿者: | 2011/03/12

Xcode4 *01Appleが提供するIDE(統合開発環境)で、iOS開発は一般的に、このXcodeを用いる。 が英語全開で、くじけ気味です。
が、内容だけでも読み進めます。

iOS開発におけるパターンによるオートマティズム

木下 誠 (単行本 – 2011/2/9)
¥ 2,940


と言うわけで、今回読む章は…

3.5 Core Data によるモデルオブジェクトのパターン

Core Data を使ってのケース。

3.5.1. Core Data でのモデルオブジェクトのモデリング

基本はCore Dataを使わないケースと同様。
各モデルに識別子(identifier)を持たせること。

注意すべきは、
Core Dataが割り振るobjectIDとは別に、識別子を持たせること。

理由は、objectIDはCore Data内部で使われるもので、
外部からの使用に向かないため。

モデル間の関連は、データベースのエンティティモデルに似ている。
1対1、1対N、N対N、を見極めて、適切な形で関連を結ぶ。 *02N対Nは好ましい形ではないので、モデルの設計をもう少し煮詰めたほうが良いだろうが。

3.5.2. エンティティを表すクラス

エンティティ用のクラスは自作することを勧めている。
一番の理由はアクセッサ。
valueForKeyやsetValuesを使わず、
自分で定義したアクセッサを利用できる。

3.6 Core Data マネージャのパターン

Core Data を使ったケースに対応したモデルマネージャについて。

3.6.1. Core Data 関連クラスの作成

モデルマネージャクラスも Core Data で作成が可能。
以下の3クラスを作成して管理する。
・NSManagedObjectModel
 → モデリングしたエンティティやプロパティはこのクラスから取り出す。
・NSPersistentStoreCoordinator
 → Core Data の保存と読み込み。
・NSManagemedObjectContext
 → モデルオブジェクトの管理。
 → アプリ側からCore Data へのエントリーポイント

保存するファイル形式の性質についても少々。
性質と用途のマッチングを考えて使用する。

3.6.2. Core Data マネージャへの参照

モデルマネージャなので、Core Data を使用しないケースと同様。
シングルトン。

3.6.3. 管理対象オブジェクトの作成

モデルオブジェクトの作成は、Core Data マネージャに任せること。

3.6.4. 管理対象オブジェクトの取得

Core Data 不使用のケースと異なり、取得用メソッドを用意しておく。

3.6.5. 保存

保存は、管理対象オブジェクトのsave:メソッドを使用する。

【おまけ】ごめんなさい。調子にのって偉そうなこと言いました。

Core Data を用いると、データモデルをグラフィカルに作成できる。
…っぽいのだが、なんか上手く行かない。orz
「+」ボタンをクリックすれば属性(Attribute)追加できるんじゃないの?

と、言う事で、
Xcodeの基本的な使い方から勉強し直さないと、実践は厳しいですね。 *03この本には、Xcodeの使い方に類する内容は全然出てこないっぽいです。
別途調べる必要があると思っておいて下さい。

「最初に読む本」とか言って、偉そうにお勧めしましたが、言い過ぎでした。
ごめんなさい。
2冊目以降でお願いします。


脚注

脚注
01 Appleが提供するIDE(統合開発環境)で、iOS開発は一般的に、このXcodeを用いる。
02 N対Nは好ましい形ではないので、モデルの設計をもう少し煮詰めたほうが良いだろうが。
03 この本には、Xcodeの使い方に類する内容は全然出てこないっぽいです。
別途調べる必要があると思っておいて下さい。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください