2012-05-26 3 views
0

Я разработал проект iPhone без файлов XIB. В этом я вручную создал объект UIView и еще несколько компонентов на этом представлении. Я освобождаю эти объекты в своих методах dealloc и viewDidUnload. Моя проблема в том, что если я выпущу объект UIView, приложение сработает, и я не знаю почему. Может ли кто-нибудь помочь мне в этом вопросе?При выпуске объекта UIView мое приложение разбивается

Вот мой код:

allmessengersview = [[UIView alloc] initWithFrame: [[UIScreen mainScreen] bounds]]; 
allmessengersview.backgroundColor = [UIColor whiteColor]; 
self.view = allmessengersview; 

-(void) dealloc { 
    [allmessengersview release]; 
    [super dealloc]; 
} 

- (void) viewDidUnload { 
    [super viewDidUnload]; 
    [allmessengersview release]; 
    allmessengersview = nil; 
} 
+1

Обеспечить создание и рилизинг код – Nekto

+0

привет это код создания // создание представления для allmessengers класса allmessengersview = [[UIView Alloc] initWithFrame: [[UIScreen В начало] границы]]; allmessengersview.backgroundColor = [UIColor whiteColor]; self.view = allmessengersview; это код dealloc - (void) dealloc {[allmessengersview release]; [super dealloc]; } и просмотр выгрузил код - (void) viewDidUnload { [super viewDidUnload]; [релиз allmessengersview]; allmessengersview = ноль; } –

+0

HI это код, который я использую для этого приложения. –

ответ

0

Пожалуйста, запишите этот код в Initialization в View

allmessengersview=[[UIView alloc]init]; 
allmessengersview.frame = CGRect (0,0,320,480); 
allmessengersview.backgroundColor = [UIColor whiteColor]; 
[self.view addsubView: allmessengersview]; 

Пожалуйста, запишите этот код в методах Dealloc

-(void)dealloc 
{ 
    [allmessengersview release]; 
    [super dealloc]; 
} 
+0

Большое вам спасибо за помощь. Я уже написал этот код в dealloc вместе с кодом viewdidunload. Небольшое сомнение заключается в том, нужно ли освобождать объекты в методе viewdidunload или в методе dealloc. –

0

Не релиз в viewDidUnload. Таким образом, приложение опубликует allmessengersview в viewDidUnload, а затем попытается выпустить его во второй раз в dealloc, но поскольку он уже выпущен, приложение выходит из строя.

Смежные вопросы