我已經爲下面的代碼:如何在使用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