我已经为下面的代码:如何在使用addSubview时释放视图控制器?
+(void) addHeader:(UIViewController*) hostViewController requiresBackBtn:(BOOL)BooleanValue
{
ApplicationHeader *appHeader = [[ApplicationHeader alloc] initWithNibName:@"ApplicationHeader" bundle:nil];
appHeader.hostViewController = hostViewController;
[appHeader.view setFrame:CGRectZero];
[hostViewController.view addSubview:appHeader.view];
if (BooleanValue) {
[appHeader.view setFrame:CGRectMake(0, 0, 320, 97)];
}
else {
[appHeader.backBtn setHidden:TRUE];
[appHeader.view setFrame:CGRectMake(0, 0, 320, 74)];
}
// [appHeader release]; // This call tends to app Crash!!!!!
}
如果我呼吁释放appHeader然后应用程序崩溃我按这appHeader发现按钮! 如果我不这是一个内存泄漏。
现在该做什么? :(
其实ApplicationHeader是一个视图控制器,它是一个普通的视图控制器,有3个按钮,这些按钮在整个应用程序中都很常见 我希望现在你有一个更好的主意 – necixy 2011-04-15 08:37:08
不是真的。从来没有听说过它,我无法找到它的任何信息......当然,我几乎专门为iPhone开发,它听起来像一个已经提供的可可触摸设计。无论如何,其他答案都有好处。如果ApplicationHeader是一个视图控制器,它应该单独为其视图负责。 – jakev 2011-04-16 01:11:14