昨年、最初の自作アプリをリリースする直前、次のObjective-C習得課題である「クラスを覚える」のために「Xcode4ではじめる Objective-Cプログラミング」と言う参考本を購入しました。
クラスを覚えてみたいと思った理由は、次のアプリでは機能をクラスに持たせてみたいと思っていたのもありますし、ActionScriptでもクラスについてイマイチ覚えられず悔しい思いをしたこともあったからです。
「Xcode4ではじめる Objective-Cプログラミング」は、Objective-Cの学習を9割ほど行い、最後の章でそれまで勉強してきたクラスを使ってiPhoneアプリを作るという構成になってます。例題で使うサンプルコードのフレームワークは、最後の章以外、iPhoneではなくMacのものを使います。
以前、「世界一わかりやすいObjective-Cプログラミングの授業」という本を買ったことがありますが、あちらが見開き毎に1テーマ学ぶ参考書形式だったのに比べ、この本は内容に合わせて量が変わる教科書形式です。一段ずつステップを踏んで、じっくり腰を据えて覚えるのは、「Xcode4ではじめる Objective-Cプログラミング」の方が適していると思います。
目次は、以下のような感じです。
- Chapter1:プログラミングを始めるための予備知識
- 1-1:プログラミング言語Objective-Cの概要
- 1-2:統合開発環境Xcodeの導入
- Chapter2:Xcodeによる新規プロジェクトの作成
- 2-1:コマンドラインツール用プロジェクトの作成
- 2-2:プロジェクトのビルドとメモリ管理について
- 2-3:ターミナルでソースファイルをコンパイルする
- Chapter3:Objective-Cの基本を学ぶ
- 3-1:ソースコードの基本構造を理解する
- 3-2:Objective-Cプログラミングの第一歩
- 3-3:変数を使う
- 3-4:基本的なデータ型を知っておこう
- 3-5:処理をまとめる関数
- 3-6:デバッガの基本的な使い方
- Chapter4:オブジェクトの基本的な使い方を理解しよう
- 4-1:オブジェクトを利用するための予備知識
- 4-2:インスタンスの生成とメソッドの実行
- 4-3:いろいろなインスタンスの生成方法
- 4-4:独自のクラスを定義する
- Chapter5:制御構造を理解する
- 5-1:条件判断を行うif文
- 5-2:繰り返しを行うforループとwhileループ
- Chapter6:配列/ポインタ/構造体を理解する
- 6-1:データをまとめて管理する配列
- 6-2:変数のアドレスを格納するポインタ
- 6-3:構造体・列挙型の定義と使い方
- Chapter7:基本クラスを理解する
- 7-1:文字列を管理するNSStringクラス
- 7-2:日付時刻を管理するクラス
- 7-3:配列クラスと辞書クラス
- Chapter8:オリジナルのクラスを活用する
- 8-1:プロパティの設定とアクセサメソッドの自動生成
- 8-2:イニシャライザの生成
- 8-3:既存のクラスを継承する
- 8-4:カレンダーを表示するクラスの生成
- 8-5:カテゴリによるクラスの拡張
- Chapter9:iPhoneアプリケーション作成にチャレンジ
- 9-1:iOSアプリケーションを作成してみよう
- 9-2:カレンダーアプリケーションの作成
で、実際に最初からやってみたところ、chapter1〜3と5〜7が今までに買った参考本と被るところが多々あったので、Chapter6辺りで飽きてしまいました。orz
飽きてから2ヶ月くらい放置してましたが、間もなくiTunesconnectのお布施期限が切れるという通知をもらい、この本のことを思い出して再び勉強した次第です。
ただ、また飽きても時間の無駄なので、思い切って最後の章からやってみました。最後の章は、この本で唯一iPhoneアプリ作成のレクチャーなのですが、既にアプリを1つリリースしたことがある私にはシックリきました。
また、唯一の自作アプリがInterfaceBuilderを使わない方法で作ったので、IBで部品を設置してプログラムに結びつける方法が紹介されているのが新鮮で、一気にヤル気が出ました。
さらに、この本のレクチャーの仕方が階段式で、前の章で作ったソースを使って次の章を進めるようになっているので、Chapter9から8、7、と逆に辿って行けたのも勉強になりました。トップダウン方式ってやつですね。
買った時が2012年だったので、内容で少し古くなっているところがありますが、ググって調べれば差を埋めることは出来る程度でした。例えば、Xcode4.4からは@synthesizeが不要になったようで、代わりに_変数名(アンダーバー)とするようになったなどです。
私の場合は、初心者向けの参考本を2〜3冊買った後で、クラスを覚えるために買ったのですが、最初からこの本で勉強すれば1からiPhoneアプリの作成までザっと勉強できそうです。
サンプルに載っているiPhoneアプリ自体は地味ですけどね。