我正在使用ARC
并拥有强大的属性:
@property (strong, nonatomic) WebViewController *webViewController;
我合成它,并像它一样初始化
//since ARC is used, is this ok?
self.webViewController = [[WebViewController alloc]init];
如果我继续这样做会发生什么,例如在applicationDidBecomeActive:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
self.webViewController = [[WebViewController alloc]init];
self.window.rootViewController = self.webViewController;
}
我认为它必须导致内存泄漏导致每次应用从后台激活时都会创建WebViewController
的新实例。我有多个实例吗?或者,如果我“覆盖”self.webViewController
?
答案 0 :(得分:4)
当您覆盖属性的值时,前一个值将被释放:在内部,其保留计数减少一个。如果在其他地方没有更强的引用,那么它将被取消分配。