簡體   English   中英

根視圖控制器已釋放,因此如何保留它或將其再次添加到導航控制器中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM