できますた~、Core Data入門本。
 まあ、あれだ…
 「なんすかCore Dataって、コア・ファイターの一種っすか?自分、これでもガンダムビルドファイターの端くれなんすけど…」な人用の本です。
 Core Dataプログラミングガイド自体はAppleから日本語訳されて公開されてるんですけどね。

日本語ドキュメント → Core Dataプログラミングガイド

 リレーショナルデータベース未体験な人が読むと、日本語なのに日本語を読んでないような気分が味わえるというマジカルドキュメントなわけでして…

 そこで、これだ!
 SQLite使ってリレーショナルデータベース構築するところから書いてみました~。ある意味SQLite入門本でもある。ま、Core Data同様ほんのさわりだけどね。この世界、奥深すぎ。
 標準Cライブラリのfread、fwrite、fseekも軽く紹介してる。UIViewとかの画面操作は知ってても、ファイル操作は知らないって人も結構いるだろうからね。

$テン*シー*シー-1


iOS Core Data 徹底入門


 ただ~し、SQLiteを紹介したせいで、そのままだとCore Dataがリレーショナルデータベースマネジメントシステムをフレームワークとして提供したものと勘違いされそうなんで、図形編集アプリの祖先(ミジンコレベル:当社比)みたいなサンプルアプリを用意して「Core Data使うと図形編集のUndo機能とか簡単に実現できるんだよ~ん」みたいな話も付けてます。

 KVC(キー値コーディング)、KVO(キー値監視)についても軽くサンプルを用意して、Core Dataのフォールティングの仕組みをイメージできるようにもしておいた。
 KVO知らずにCore DataのNSManagedObjectをカスタムクラス化すると痛い目みるからね。
 あと、モデルとビューをどう連携させるかって話も、サンプル用意してある程度ページ割いた。モデル、ビューそれぞれの使い方を知っても、連携ができなきゃアプリに応用できないもんね。

作るのは、もぐら叩きゲームだ!
$テン*シー*シー-3

 こいつのゲーム成績を残す手法として、標準Cライブラリ→SQLite→Core Dataと切り替えながら紹介してる。
 あんまビュー関係の説明に本文のページ割けず、サンプルの注釈で説明するしかなかった(コツツボ読者は説明不要で大丈夫、なはず)ので、そこらへんでわからんとこがあればブログのコメントで質問してね~。


 マイグレーションのカスタマイズに関しても一通りの基礎知識は紹介しますよん。
 正直、Core Dataのモデルエディタは魅力だが、バージョンアップでCore Dataモデルを変更した時に、どう対処していいかわからんからCore Dataの導入を見送ってる人もいると思うの。
 おじさん、そこらへんも考えて、めんどくせっ「Appleが出してる英語のドキュメント紹介しとくからそれ読んでね」でお茶濁しときゃよかったあああ、とか思いながらヒーヒーいいながら書いた。

 今回、サンプルプロジェクトはgitを使って、変更前のソースと差分を比較できるようにしてるんで、そこらへんも活用してみてください。

$テン*シー*シー-2