2013-02-08 24 views
3

我的應用程序有一個登錄頁面,然後是一個主頁面。我想在用戶登錄時取消分配登錄頁面,並且由於主頁很重,我顯然希望在我註銷並重新登錄頁面時解除分配。如何實現這一目標?我使用presentModalViewController,但我發現使用此方法註銷時內存消耗不會減少。將導航控制器(與pushViewController方法)做?如何解除/取消分配/無顯示/上一個視圖控制器?取消分配呈現/上一個視圖控制器

+0

目前尚不清楚你想在這裏做什麼。在調用dismissModelViewController之後,內存管理由dealloc處理。 – rptwsthi

+0

你使用ARC嗎? –

+0

是的,使用ARC。但是,當我做presentModalViewController時,如果我從重視圖控制器中釋放它,內存消耗會減少很多,對吧? – onlinenaman

回答

2

嘗試使用隱藏標籤欄的標籤欄控制器。只需製作一個標籤 - 登錄屏幕,另一個 - 應用程序主屏幕。當用戶登錄時,只需顯示應用程序屏幕,然後將初始選項卡欄控制器的視圖控制器設置爲僅一個vc - 主應用程序vc。並且確保您已將所有適當的屬性設置爲零,以允許ARC完成作業並釋放登錄屏幕。

0

視圖控制器使用堆棧的概念,所以你必須有一個根視圖控制器來處理切換。有一個基本上空白的主視圖控制器,並根據需要將其他兩個視圖控制器添加到它。

0

你可以用這個代碼實現:

MainViewController *mainController = [MainViewController new]; 
UIWindow *mainWindow = [[[UIApplication sharedApplication] windows] firstObject]; 
[mainWindow.rootViewController removeFromParentViewController]; 
[mainWindow setRootViewController:mainController]; 
相關問題