0

我开发了一个没有 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;
 }
4

2 回答 2

0

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

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];
}
于 2012-05-26T10:14:01.790 回答
0

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

于 2012-05-29T07:54:06.493 回答