在释放UIView对象时,我的应用程序崩溃了



我开发了一个没有XIB文件的iPhone项目。在这种情况下,我手动创建了 UIView 对象以及该视图上的更多组件。我在deallocviewDidUnload方法中释放这些对象。我的问题是,如果我释放 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;
 }

请在视图中的初始化中写下此代码

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];
}

不要在viewDidUnload中发布。这样,应用程序将在viewDidUnload中释放allmessengersview,稍后它会尝试在dealloc中第二次释放它,但由于它已经发布,应用程序崩溃。

最新更新