【書評】Swift+Core DataによるiOSアプリプログラミング
Monday, February 29, 2016
今回は、タイトルの通り、西方夏子さんが書かれた「Swift+Core DataによるiOSアプリプログラミング」を拝読させていただいた感想を書かせていただこうと思います。
はじめに 今回この記事を書くに至った経緯としましては、マイナビブックスさんにて、読者モニター募集のキャンペーンをやっていまして、 応募させて頂いた所、当選したとご連絡を頂き、本の出版日の前にモニターとしてPDFを頂きました。 モニターの条件として、SNS等で感想をシェアするということでしたので、このblogに感想を書かせていただき、自分のTwitter等で拡散させていただこうと思います。 以下、拙いですが、私が読んだ書評となります。
書評
書かれているのはCoreDataのことだけじゃない まず、この本では、単にCoreDataのことについてズラズラ書いているものではなく、 UIKitの基礎から、実際にCoreDataを使う例に至るまで、 はじめてCoreDataを扱う人、ある程度入門書等を読んだ駆け出しの開発者でも理解しやすい ように書かれています。
目次を抜粋しますと、
概論 UI開発の基礎 UIKitの機能と役割 UIKitとは ビュー ビューコントローラー イベントハンドリング (省略) といった感じで、初めからガシガシCoreDataの仕組みを書くぞ!って感じというよりは、初めての人でも、本を読み進んで、サンプルプロジェクトを見ながら書き進める時の前提知識が身につくようになっています。
また、後半では、Xcode7から登場したPlaygroundに関しても触れられており、CoreDataをPlayground上で動作させることに関しても書かれています。
更に、XCTestにも触れられているので、CoreDataを使った際のテストに関しても書き方が理解できるようになっています。
読み手のこともしっかり考えているんだなと思いました。 CoreDataの事をどれだけ網羅しているか CoreDataに関しては、はじめの概論から始まり、
基本的な使い方(永続ストアのセットアップ等) データモデルの定義方法 データの追加/削除やフェッチ 自動マイグレーションとマッピング エラーの検証とハンドリング FetchedResultsControllerの使い方 効率化としてライフライクルやフェッチの応用 並列処理 iCloudでの利用 といった形で、CoreDataの基礎から応用まで、 網羅 している感じです。
特に、実際のアプリ上では非同期でフェッチしてユーザーにストレスを与えずにデータを引き出す事が重要で、 それに伴うスレッドセーフなフェッチの仕方にも触れられているので、実践的なところまでカバーしているなと思いました。
サンプルアプリを交えて章が進んでいくので、実際に作りながら、CoreDataをどう使っていくのかも学べます。
また、あまり情報のない、CoreData側での保存時のバリデーションの方法や、iCloudでの利用も記載されていて、 自分にとっても新しい発見がありました。
いままでCoreDataで定義したEntityに入る値の検証はそれ専用のValidatorクラスを作ったりして行っていましたが、それをEnitityに持たせられるのは便利だなと思いました…!
また、Swiftがベースですが、SwiftとObjective-Cで少し異なるような場面では丁寧に、Objective-Cでの場合も掲載されています。 開発環境のサポートに関して 本にも記載されていますが、
Swift 2.1 Xcode 7.…