【发布时间】:2011-06-30 14:49:23
【问题描述】:
当使用下面的代码时,你需要做些什么来释放标签控制器的视图吗?在开发应用程序时,我分析了该项目,它报告说有一个潜在的链接在线使用addSubview:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[window addSubview:[tabController view]];
[window makeKeyAndVisible];
return YES;
}
MyAppDelegate.h
@interface MyAppDelegate : AppDelegate {
UIWindow *window;
IBOutlet UITabBarController *tabController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabController;
@end
MyAppDelegate.m
@implementation MyAppDelegate
@synthesize tabController, window;
- (void)dealloc {
[tabController release];
[window release];
[super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[window addSubview:[tabController view]];
[window makeKeyAndVisible];
return YES;
}
@end
在发布tabController 之前,我是否需要先发布tabController.view?还是在application:didFinishLaunchingWithOptions: 方法内? This question 好像说我只需要在dealloc中释放控制器即可。
谢谢!
【问题讨论】:
标签: objective-c ios memory-management