[英]Root View controller is deallocated so how do I retain it or add it to my navigation controller again
使用以下命令注銷后:
- (IBAction) logoutButtonPressed:(UIButton *)sender
{
[Users logOut];
[self.navigationController popToRootViewControllerAnimated:YES];
}
如果我已經登錄了12個小時,屏幕就會變黑。 我猜想rootview控制器已釋放。
這是在appDelegate.m中創建的方式:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
StartViewController *viewController = [[StartViewController alloc] init];
StartNavigationController *navigationController=[[StartNavigationController alloc] initWithRootViewController:viewController];
self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];
}
如何使startviewcontroller再次顯示? 還是根到底是什么?
當您分配self.window.rootViewController時,將為該對象創建一個強引用,因此使用ARC,除非將指向該對象的對象取消分配,否則不會將其釋放。 因此,您的StartViewController是導航控制器的rootViewController。 如何在調用poptoRootViewController的位置添加控制器? 執行彈出時,獲取導航控制器的視圖控制器數組,並確保您的根視圖控制器是完整的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.