我对内存管理有疑问。在我的应用程序委托中,我有以下方法;其中welcomeViewController
是一个ivar。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
welcomeViewController = [[CBWelcomeViewController alloc] init];
UINavigationController *appNavigationController = [[UINavigationController alloc] initWithRootViewController:welcomeViewController];
[self.window addSubview: [appNavigationController view]];
[self.window makeKeyAndVisible];
return YES;
}
要释放
welcomeViewController
的内存,我只需在dealloc方法中对其调用release。- (void)dealloc {
[welcomeViewController release];
[window release];
[super dealloc];
}
我的问题是,管理
appNavigationController
内存的正确方法是什么? 最佳答案
您应该将appNavigationController
设置为实例变量,并在release
中将其设置为dealloc
。
您不需要将welcomeViewController
作为实例变量,恰恰相反。
只需分配/初始化它,然后将其传递给UINavigationController
,然后将其保留,然后立即release
。
关于iphone - application:didFinishLaunchingWithOptions:内存管理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4421418/