簡體   English   中英

釋放根視圖控制器

[英]Releasing root view controller

我里面有以下語句

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

聲明是:

root_view_controller = [[Root_View_Controller alloc] initWithNibName:@"Base_View" bundle : nil];

我沒有使用ARC,因此我正在考慮在以下位置釋放root_view_controller

- (void)applicationWillTerminate:(UIApplication *)application

我的問題是:以上做法可以嗎? 並且:在釋放root_view_controller之前,還應該添加其他任何清理代碼嗎?

AppDelegate.m

- (void)dealloc
{
    [_window release];
    [_viewController release];
    [super dealloc];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    self.viewController = [[[MLViewController alloc] initWithNibName:@"MLViewController" bundle:nil] autorelease];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

如果要釋放Root_View_Controller,則需要使用dealloc方法(如上面的代碼)進行釋放

無需釋放內存

- (void)applicationWillTerminate:(UIApplication *)application

因為當應用終止時,它所使用的內存仍然會釋放。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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