これは不可能かもしれないと思いますが、私がやろうとしていたことは、サブクラスも初期化するスーパークラス「ロード」に静的初期化子を書き込もうとしたことです。
+ (id) load
{
Class c = [self class];
NSString *cString = NSStringFromClass([self class]);
NSLog(@"%@",cString);
id a = [[c alloc] init];
[a autorelease];
return a;
}
ここで [self class] の結果はスーパークラスですが、クラス自体を初期化したい (この場合は常にサブクラスになります)。たぶん、これはひどいプログラミングのアイデアです。