Objective-Cのstaticイニシャライザー
所謂javaでいうところの
static { // この初期化 }
をObjective-Cでやる場合、どうすのか!!
ググってみると、NSObjectに実装されている
- (void)initialize
を実装すれば良いらしい。
ただ、複数回呼ばれることがあるらしく、
そのへんは自前で1回しか処理が行われないように
制御しなくてはならない。
ここを参考にフラグで制御しました。「Objective-Cクラスオブジェクトの初期化」
但し、初回かどうかの判定BOOLはメソッドの中ではなく外側に
static BOOL isInitialized = NO;
のように宣言し、それを参照して判定しました。
ちなみに、OBjective-Cにはクラス変数という概念は無いらしいです。