UIView をサブクラス化し、正常に動作する独自の drawRect を提供しました。ただし、これらのメソッドをサブクラスに追加しました。
- (id) alloc
{
NSLog(@"Alloc");
return [super alloc];
}
- (id) init
{
NSLog(@"Init");
if (self = [super init])
flashWhite = true;
return self;
}
サブクラスのオブジェクトが作成されるたびに (Interface Builder を介して発生する)、alloc メソッドと init メソッドが呼び出されると思いました。ただし、オブジェクトは作成されますが、init と alloc が呼び出されません。これは、適切な初期化を保証するために発生するべきではありませんか?
また、ビルドすると、UIView が「alloc」に応答しない可能性があるという警告が生成されます。これを NSObject から継承する必要はありませんか、または UIView を適切に作成するにはどうすればよいでしょうか?
上記の私の目的は、サブクラス化されたビューが、IB によって作成された後にカスタム初期化を実行できるようにすることでした。