ct
будет освобожден [ct release]
, так как удержание не осталось. Попытайтесь добавить свойство ct
retin в свой класс, чтобы сохранить его.
В определении класса:
@property(nonatomic, retain) Controls *ct;
В вашей реализации:
@synthesize ct;
...
Измените свой loadView на что-то вроде:
- (void)loadView {
self.ct = [[Controls alloc] init];
[self.ct addControls];
[self.ct release];
}
Или даже аккуратнее:
- (void)loadView {
self.ct = [[[Controls alloc] init] autorelease];
[self.ct addControls];
}
Вы должны также выпустить ct
где-нибудь как в viewDidUnload
- (void)viewDidUnLoad {
self.ct = nil;
}
Кстати, это в UIViewController
классе? тогда метод loadView
, вероятно, должен назначить переменную экземпляра view
. Если вы посмотрите в документации для UIViewController
, вы увидите это:
Если вы переопределите этот метод для создания своих представлений вручную, вы должны сделать это и назначить корневое представление вашей иерархии свойству представления.