Objective-Cの基本を通勤中に勉強する:世界一わかりやすいObjective-Cプログラミングの授業

前回まで、iPhoneアプリ開発参考本のサンプルコードを写しながら勉強を進めてきましたが、

いよいよオリジナルのアプリを作りを始めました。

先日、6/11にWWDC 2012でiOS6が発表されましたね。私のiPhoneアプリ開発学習は、1個もオリジナルのアプリを作らないままに、丸5ヶ月が経とうとしています。当初の予定も、遅れに遅れて全くの無意味になってきました。カメです、私はノロマなカメです。
さて、新しいMacBookが発表されてしまったので、iPhone5が発表されるまでに、何とかオリジナルのアプリを1個作りたいと思います。

しかし、今まで参考本のサンプルコードを写す勉強の中で、何が何をやってるかは解説で分かったような気になりましたが、何でそう書くのかが全く分かりません。唯一、過去に自分が習得したActionScriptとは、作法がほとんど違うからです。
と言うことで、Objective-Cの基本を勉強できそうな「世界一わかりやすいObjective-Cプログラミングの授業」と言う本を買いました。
この本は、生徒と先生が問答を交わしながら、1テーマにつき見開き2ページで解説していくと言う流れになっています。Macbookを持ち歩くガッツの無い日でも、通勤中に気軽に読めそうだと思って購入しました。

■Lesson1:
Objective-Cの概要です。歴史やターミナルでの実行方法、Hello worldのソースコードをC言語と比べたりなど、さらりと終わります。
Objective-Cは、C言語にsmalltalkという言語の作法を持ち込んだ言語だということを知りました。ちなみに、普通のC言語も使うことができるとのことです。

■Lesson2:
C言語の入門です。まさか、16年前にポインタが分からなくて諦めたC言語を、再び勉強するとは思ってもみませんでした。当時と比べて今は、ActionScriptを習得しているので、少しは理解が出来たと思います。
変数に始まり、制御文、演算子、配列、ポインタ、構造体と、Cのおさらいができました。

■Lesson3:
ここからObjective-Cの入門が始まります。先ずは、インスタンス生成、メソッド、メッセージ、#importなど、基本中の基本を学びます。
ここまでは、ちょうど「15歳からはじめるiPhoneわくわくゲームプログラミング教室」や「よくわかるiPhoneアプリ開発の教科書」の最初の方の章の内容を濃くした感じです。

■Lesson4:
文字列と配列について、C言語とObjective-Cで比べながら学びます。
Objective-Cでは、文字列がNSStringとNSMutableString、配列がNSArrayとNSMutableArrayです。Mutableと付く方が変更可能ってところが、ActionScript慣れしている私にはまだ慣れません。

■Lesson5:
この本を読み始めて、初めて「お~!欲しかったのは、この情報だ!」と思いました。
クラス、インスタンス、メッセージ式、メソッド、イニシャライザ、カプセル化とアクセサ(ゲッターとセッター)、プロパティなどを学び、この章を読むことで「cocos2d for iPhone レッスンノート」という本で、闇雲に写していたサンプルコードの意味がようやく分かり始めました。

■Lesson6:
ここから急に眠い話になってきました。メモリの話です。
インスタンスの生成、解放から始まり、メモリ管理の方式の種類について説明があります。
releaseやretain、dealloc、autoreleaseなど、「cocos2d for iPhone レッスンノート」に出て来たものの、意味も分からず写していただけでしたが、ここでやっと分かってきました。
ただ、やっぱりメモリの話は眠いです。。。

ちなみに、「世界一わかりやすい」とタイトルにありますが、初心者向きに親切な説明という訳ではありません。

これからは、この本でObjective-Cの基本を学びながら、今までの参考本のサンプルコードをベースにオリジナルのアプリ作りを進めていきます。

★★★自作iPhoneアプリをAppStoreでリリースするまでの道のり★★★