我有一個BaseViewController,它是UITabBarController的子類,並在此視圖控制器中設置我的視圖。釋放視圖控制器是否釋放其所有屬性?
-(void)setUpViews
{
FirstController *mainViewController = [[FirstController alloc] initAssignment:delegate.currentAssignment withMutableArray:myArray];
UINavigationController *firstNavController = [[UINavigationController alloc] initWithRootViewController:mainViewController];
SecondController *secondViewController = [[SecondController alloc] initWithNibName:@"SecondController" bundle:nil];
UINavigationController *secondNavController = [[UINavigationController alloc] initWithRootViewController:secondViewController];
self.viewControllers = [NSArray arrayWithObjects:firstNavController, secondNavController,nil];
firstNavController.tabBarItem.image = [UIImage imageNamed:@"blablabla.png"];
firstNavController.tabBarItem.title = @"Stream";
secondViewController.tabBarItem.image = [UIImage imageNamed:@"blabla.png"];
secondViewController.tabBarItem.title = @"Favourite";
}
現在我還有一個視圖控制器,我把它稱爲ViewHandlerController
的BaseViewController
一個子類。在我的viewDidLoad
這viewHandler
,我調用setUpViews
這是在BaseViewController
宣佈。在我的應用程序的第一個屏幕中,當按下登錄按鈕時,我實例化我的ViewHandlerController
,並通過使用導航控制器成功地呈現了我的tabcontroller。
[[[UIApplication sharedApplication].windows objectAtIndex:0] addSubview:viewControllerHandler.view];
在我的應用程序中。有一個註銷按鈕。我正在使用NSNotificationCenter
來調用我的第一個屏幕中聲明的logoutMethod。我的問題是,在此註銷方法中,我如何釋放先前分配的對象以避免內存壓力,因爲用戶可以再次登錄(logIn-logOut -logIn)?因爲我使用ARC,將我的ViewController設置爲NIL會做所有的清理工作嗎?
編輯:是從超視圖中刪除我的ViewControllerHandler,並將其設置爲零有助於發佈其子視圖嗎?
乾杯
感謝您的迴應。在我的情況下,我使用弧,我想減少/避免我的應用程序中的內存壓力。我想要的是緊急釋放對象,因爲我的應用程序消耗大量內存。 – janusbalatbat 2012-03-16 14:41:25