1章Objective-C習得のためのC言語入門
Cはどうだい?
私と関わりのあるものなら何でも信じてくれるかい?
——レナード・バーンスタインおよびスティーブン・シュワルツ、『歌手と演奏家、踊り手のためのミサ曲』
iOSで動作するアプリケーション(アプリ)を作るには、APIの規約に従ってiOSと情報のやり取りをする必要があります。そしてiOS用のプログラムを作るには、主に次のふたつの理由からC言語の知識が必要です。
- Objective-C(Obj-C)はCの「スーパーセット」である——つまり、Obj-CはCをベースにしており、Cについて当てはまることはすべてObj-Cにも当てはまります。iOSのプログラミングをマスターしようとする人がよく犯す誤りは、「Obj-Cの基盤はCである」という事実を忘れて、Cの基本的な理解をおろそかにしてしまうことです。ほとんどの場合Obj-Cを用いてプログラムを作ることになりますが、その基礎はCにあるのです。
- iOSのAPIの記述にCが用いられている——Obj-Cのコードでも、Cのデータ構造や関数呼び出しが使われることもあります。たとえば、矩形(四角形)はCGRectという「型」を使って表しますが、これはCの「構造体」です。また、CGRect型の変数を生成するには、引数(パラメータ)を4つ指定して
CGRectMake
を呼び出しますが、これはCの関数です。さらに、iOS APIのドキュメントでCの例が使われることがあるため、この点からもCの理解が欠かせません。
Cの解説本として「定番」となっているのが『プログラミング言語C 第2版』(Brian Kernighan+Dennis Ritchie
Get 入門 iOS SDK ―初めてのiPhone/iPadプログラミング now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.