2012年9月2日日曜日

Objective-Cについて

iOSの開発では,Objective-Cという言語を使います。

先日まとめたとおり,Objective-Cは「C言語+オブジェクティブ指向」の形でつくられています。

しかし実際に中身をみると,C言語でオブジェクティブ指向を実現するために,ライブラリを大量に追加したものといった感じだそうです。

したがって,C言語のコードは普通に通りますし,Objective-C特有のコードとC言語のコードを混在させることもできます。

実際,XcodeでiPhone用プロジェクトを新規作成すると「main.m」というソースファイルが作成され,その中を見ると下記のような見慣れた関数が書かれています。

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

C言語で最初に覚えるmain関数ですね。
Objective-Cでも,プログラムが開始されて最初に呼ばれるのはmain関数です。

このC言語的な関数の中に,Objective-C特有のメモリの自動管理(@autoreleasepool)だったり,メソッド呼び出し([AppDelegate class])だったりが混在していて面白いですね。



Objective-Cについては,また暇だったら書きます。

0 件のコメント:

コメントを投稿