iPhoneアプリ作成までの道のり5

5. Xcodeを使う

メモリ管理について、方針が頭の中でスッキリと納得いったならば、次の試練はXcodeを使うことだ。この辺で、何か一冊参考書を購入することをお勧めする。例えばこんな本がある。

詳解 Objective-C 2.0 第3版

詳解 Objective-C 2.0 第3版

この本は良書だが、最初に読む本としてはお勧めできない。初心者が読むと消化不良を起こすであろうし、何より読むのに時間がかかりすぎる。まずは、実際に動くアプリを作りながら、Xcodeに慣れていく系の本が良いと思う。サンプルが面白そうだと感じたものを選べば良い。


基礎からのiOS SDK

基礎からのiOS SDK

この本は私が最初に読んだ本だが、この本もお勧めできない。

その理由に繋がることで、注意しなければならないことがある。それはXcodeのバージョンである。なるべく自分が使うXcodeと同じバージョンを扱っている本を選ぶべきだ。特に4.2までと、4.3以降では、UIの設計方法が大きく異なる。これからObjective-Cの学習を始める人は、Xcodeのバージョンは4.6以降であろうから、少なくとも4.3、できれば4.5、願わくば4.6で解説されている本を選ぶべきだ。

iPhoneアプリを作る場合、最低3つのクラスが必要になる。
(3つ用意しなくても作れることは作れるが、ここではXcode4.3以降の一般的な構成を説明する)

・AppDelegate:1アプリに1つ
・ViewController:1画面に1つ
・View:1つのViewControllerに対して、1〜複数

AppDelegateはアプリケーションの状態遷移に応答するものである。
ViewControllerは画面の保持と、画面遷移、画面間のデータの引き渡しを制御する。
Viewは画面そのものを表し、ユーザー入力に応答する

ViewControllerとViewはStoryboardを使ってUIを定義し、ソースファイルに実装コードを記述する。

ViewControllerは1つのトップビューを持ち、ビューはビュー同士で親子関係を持つことができる。例えば、トップビューをUIImageViewにすれば、画像を持つ画面を構築できる。その中にいくつかボタンを配置するとする。この場合、ボタンもビューの一種であり、ボタンはUIImageViewの子ビューということになる。もちろん、孫、ひ孫を持つこともできる。ViewControllerとViewの階層構造はStoryboardを見れば把握できる。

以上がiPhoneアプリを作るに当たって最も基本的なことである。
1画面のみの単純なアプリならば、これだけの知識でも作成可能だ。複数画面を持ち、画面遷移が必要な場合は、Storyboardでセグエというものを定義する。画面遷移については、後でもう少しだけ詳しく説明する必要がある。Viewの種類はたくさんあるので、とにかく必要そうなものを使ってみるしかない。そういった意味でも、なるべく自分のアプリで使いそうなUIを網羅している参考書を選ぶのが良いだろう。

この段階で、参考書をなぞりながら、いくつかのサンプルアプリを作ることとする。
自作アプリを作るまでの準備としては、十分な経験を積むのに1ヶ月くらいは時間がかかるだろう。