Powered by Google

2010年9月27日月曜日

創作活動日記 iPhoneアプリ開発編3

フレームワーク使用の前に、まだ知っておくべき事項があるので
今回は開発言語のObjective-Cの特徴について

新規プロジェクトを作成するとプロジェクト名.m、プロジェクト名.hというファイルが自動生成されます。

それぞれのファイルはデフォルトでコードが書かれていますので今までのプログラミング経験によって、人それぞれ、C言語に似ている、さっぱりわからん、などの感じ方は違うと思います。

拡張子「.h」ファイルは定義記述するヘッダファイルとなります。
拡張子「.m」ファイルは実際の処理を実装するファイルとなります。

Objective-Cソースコードには「@」という、他の言語では見慣れない記号があります。
これはコンパイラディレクティブというもので、クラスの宣言や実装をコンパイラに対して明示するために使用します。

@interfaceで始まり、@endで終わるというのが基本形式です。

用途別にコンパイラディレクティブは用意されていますが、たとえば

@interface ・・・ クラスやインターフェースの定義を開始
@implementation ・・・ クラス実装の開始
@protocol ・・・ プロトコル宣言の開始
@end ・・・ クラス、プロトコルの宣言・定義を終了

@private ・・・ インスタンス変数の有効範囲をクラス内に限定
@protected ・・・ インスタンス変数の有効範囲をクラス内と派生クラス内に限定
@public ・・・ インスタンス変数の有効範囲について制限なし

その他にも例外処理をサポートする@try、@throw、@catchなど排他処理の制御に@synchronizedなどあります。その辺りは実装する上で調べてみてください。

クラスの定義は次のような構造をとります。

@interface クラス名 : 親クラス名
{
インスタンス変数宣言
}
メソッド宣言
@end


クラスの実装については
@@implementation クラス名
メソッド定義
@end

のように実装します。

他にもメソッドの呼び出し方やプロパティについてなどの「-」記号によるインスタンスメソッドなどの理解が実装する上での前提条件として必要になります。

とりあえず今日はここまで。

4 件のコメント:

  1. シンプルでイイっす!

    返信削除
  2. あまりシンプルさを意識していなかったんですが
    印象がよかったのなら今後もこういうまとめ方に
    してみたいと思います。

    返信削除
  3. 確かに見慣れないね、@。
    要点が絞れててシンプルで良いと思います。

    クラスの実装のとこでimplementationだけ@が二個あるけど
    そういうもんなんかな?

    返信削除
  4. 改めて見かえすと、ファイルの関係図とかなんでもよいので
    絵があるともっと分かりやすく興味をひいたかも。

    返信削除