Я создал подкласс UIView и предоставил свой собственный drawRect, который отлично работает. Однако я добавил эти методы в свой подкласс:
- (id) alloc
{
NSLog(@"Alloc");
return [super alloc];
}
- (id) init
{
NSLog(@"Init");
if (self = [super init])
flashWhite = true;
return self;
}
Я думал, что всякий раз, когда создается объект подкласса (что происходит через Интерфейсный Разработчик), будут вызываться методы alloc и init. Однако объект создан, но мои init и alloc не вызваны. Разве это не должно произойти, чтобы гарантировать надлежащую инициализацию?
Кроме того, build выдает предупреждение о том, что UIView может не отвечать на «alloc» - не должно ли оно наследовать это от NSObject или как UIView может быть правильно создан?
Моя цель в вышесказанном состояла в том, чтобы мое подклассное представление могло выполнить пользовательскую инициализацию после того, как IB его создаст.