iOSアプリの開発で、知識不足を補うために、書店で最新の入門書をチェックしてみました。
今なら、どんなチョイスがあるのでしょうか?
●欲しい情報
(1) Objective-C
(2) Swift
の2つがありますが、簡単で分かりやすいSwiftを使ってみます。
(Objective-Cでなければ作れない機能がある場合を除き、Swiftで十分でしょう。)
<初級>
・Xcodeの基本的な使い方
・Swiftの言語仕様の概要
・アプリの雛形の作り方
・インタフェースビルダーで、部品を配置する方法(UIKitの使い方)
・部品に動作を付ける方法(コードを書いて、処理を作る)
・複数の画面を遷移する方法
・シミュレーターで、アプリの動作確認を行う方法
・実機上で、アプリの動作確認を行う方法
<中級>
上記の項目に加えて、もう少し実用性のある機能を作るために、以下の知識も補充したいです。
・iOSアーキテクチャーの理解(iOSアプリの仕組みの詳細)
・データの読み書き(データの保存、永続化)
・UIKitのより詳細な使い方
などです。
つまり、入門書では、簡単なサンプルのアプリしか作れないですが、サンプルにはない機能を作りたい場合に、どうやって不足している知識を補えば良いのか?~その調査方法、学習方法を身につけたいです。
●初級
私の場合は、以下の書籍で初級の知識を得ました。

Swiftではじめる iPhoneアプリ開発の教科書 【Swift 2&Xcode 7対応】 (教科書シリーズ)
- 作者: 森巧尚
- 出版社/メーカー: マイナビ出版
- 発売日: 2015/10/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
「SwiftではじめるiPhoneアプリ開発の教科書」は、イラストが豊富で、説明も丁寧なので、とても分かりやすい本でした。
しかし、この本の知識で作れるiOSアプリは、とても基本的=シンプルなアプリしか作れません。
特に、データの保存方法について説明が不十分であるように感じました。
そのため、他の書籍も参考にして、知識を補填することにしました。
データの保存方法を説明している入門書もありました。

本気ではじめるiPhoneアプリ作り Xcode 7.x+Swift 2.x対応 黒帯エンジニアがしっかり教える基本テクニック (ヤフー黒帯シリーズ)
- 作者: 西磨翁
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/02/27
- メディア: 単行本
- この商品を含むブログを見る
この本は、説明が分かりやすい上に、より実用性の高いアプリを作るために必要な知識もある程度カバーしていると思いました。
今なら、iOSアプリ開発の入門書として、「本気ではじめるiPhoneアプリ作り」を推薦したいと思います。
iOSアプリの入門書を選ぶときの基準として「データの保存方法」の説明をチェックすると良いでしょう。
●iOSのアーキテクチャー(構造)
iOSの仕組みについて、Appleの公式ドキュメントで解説がありました。
・iOSテクノロジーの概要
https://developer.apple.com/jp/documentation/iOSTechOverview.pdf
●UIKitの研究
初級の知識を得た後は、狭い範囲をより深く掘り下げた専門書を読むと、効率的に学習できると思います。
UIKitの詳細を説明している本がありました。

UIKit&Swiftプログラミング 優れたiPhoneアプリ開発のための UI実装ガイド
- 作者: 斉藤祐輔 JIBUNSTYLE Inc.
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/06/17
- メディア: 大型本
- この商品を含むブログを見る
・UIKitで用意されている様々な部品について紹介。(辞書的な説明)
・データの保存方法についても言及あり。
●Core Dataの研究
iOSのデータの保存方法として、標準で「Core Data」という仕組みが用意されています。このCore Dataの使い方を説明した本もありました。

Swift+Core DataによるiOSアプリプログラミング
- 作者: 西方夏子,丸山弘詩
- 出版社/メーカー: マイナビ出版
- 発売日: 2016/02/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
・Core DataでSQLite(データベース)を使う方法
など、多機能なCore Dataについて、詳細な説明がなされていました。
Core Dataは単なるデータベースというわけではなく、MVCのモデルを管理する汎用的な機能を提供しているそうです。
パラパラと眺めてみましたが、内容が込み入っていて、「Core Dataの使い方は複雑そうだな~」という印象を受けました。
●MagicalRecord
Core Dataを簡単に使うために、「MagicalRecord」というライブラリーが提供されています。
●Realm
Core Dataの代わりに、もうちょっと簡単に使える「Realm」というオープンソースのデータベースもあります。
Core Dataを使わなければならない理由がなければ、他の代替手段で簡単に済ませたいです。
(1) iOSアプリの作り方の基本を押さえる。
→「本気ではじめるiPhoneアプリ作り」も読んでみる。
(2) UIKitの使い方を理解して、画面の作り方に慣れる。
→UIKitに関する紙のリファレンス(辞書)が必要なら「UIKit&Swiftプログラミング」を読んでみる。(現段階では、不要と判断した。)
(3) データの保存方法を学び、実用的なアプリを作れるようにする。
→Core Dataを使うなら「Swift+Core DataによるiOSアプリプログラミング」を読んでみる。(現段階では、不要と判断した。)
とりあえず、「本気ではじめるiPhoneアプリ作り」も読んでみて、知識の偏りや不足を解消してみたいと思います。