・メモリの確保・初期化
+(void) alloc でメモリを確保し、
-(id) initで初期化を行います。
// allocで取得したオブジェクトをinitで初期化して、objに代入する。
id obj = [[クラス名 alloc ] init ]
・参照カウント
Objective-Cでは以下の関数を用いて参照カウントの仕組みを使うことができます。
ただし、(コピー)コンストラクタやデストラクタが存在しないのでカウントの操作は自分で行うことになります。
//カウントを1増やす。
- (id)retain;
//カウントを1減らす。
- (oneway void)release;
allocとinitで初期化した時点では参照カウントは1で、
参照カウントが0になると- (void)dealloc が呼び出され、メモリを開放します。
initで始まる名前の関数の戻り値で得たオブジェクトはreleaseする必要があります。
– (void)dealloc
参照カウントが0になったときに呼び出されます。
メンバ変数の開放、基底クラスのdeallocの呼び出しなどを行います。
– (NSUInteger)retainCount
参照カウントの値を返します。
※alloc init dealloc retain release などの関数は、
すべてのクラスの基底クラスであるNSObjectで定義されている普通の関数であり、
キーワードではありません。