iphone - 释放 Root View Controller

标签 iphone ios xcode

我里面有如下语句

- (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 方法中执行它

关于iphone - 释放 Root View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16482643/

相关文章:

iphone - iOS - UIImageView 动画内存泄漏?

iphone - 从 UITableViewCell 到模态视图 Controller 的动画

Xcode beta 7 - Do-While 循环 SWIFT 错误

ios - 远程创建和分发文件

iphone - 可以选择 iOS 基础 sdk 吗?

ios - UIWebView 路径取决于之前按下的按钮 Xcode

ios - reloadData之后的indexPath.row错误

ios - 在 Swift 中使用 UIScrollView 制作图像 slider

ios - 如何将 NSURLConnection 的 UserAgent 设置回默认的 iOS Safari 用户代理?

SwiftLint 无法识别对 .swiftlint.yml 的更改