objective-C

Objective-Cの覚書


◆クラスの宣言
@interface クラス名 : 親クラス名
{
  インスタンス変数;
@public
  公開するインスタンス変数;
@protected
  サブクラスからのみアクセス可能なインスタンス変数;
@private
  非公開のインスタンス変数;
}
メソッド宣言
@end

◆メソッド宣言(インスタンスメソッド)

  • (戻り値型) メソッド名 : 仮引数リスト … ;

◆メソッド宣言(クラスメソッド)

  1. (戻り値型) メソッド名 : 仮引数リスト … ;

◆ラベル

  • (戻り値型) メソッド名 : (引数型1) 仮引数名1 ラベル名2 : (引数型2) 仮引数名2 … ;


◆クラスの定義
@implementation クラス名
メソッド定義

@end

◆クラスメソッドの呼び出し

[クラス名 メソッド名 : 引数0 引数1 …];

インスタンスメソッドの呼び出し

[インスタンス名 メソッド名 : 引数0 引数1 …];

◆コンストラク
メソッド( -(id)init; )を用意する。

◆デストラク
メソッド( -(id)free; )を用意する。

インスタンスの生成と開放
id obj = [HogeClass new];
[obj free];

◆クラスオブジェクトの生成
Class hogeClass = [Hoge class];
[hogeClass free];

◆カテゴリ
メソッドが追加できる。
@interface クラス名 : (カテゴリ名)
@implementation クラス名(カテゴリ名)

プロトコル宣言
@protocol プロトコル名 <親プロトコル1 , ...>
プロトコル本体
...
@end
プロトコルの継承
@interface クラス名 : 親クラス名 <プロトコル1, ...>