1

我正在使用ARC并拥有强大的属性:

@property (strong, nonatomic) WebViewController *webViewController;

我合成它,并像它一样初始化它

//since ARC is used, is this ok?
self.webViewController = [[WebViewController alloc]init];

如果我继续这样做会发生什么,eG 在applicationDidBecomeActive:

- (void)applicationDidBecomeActive:(UIApplication *)application
{
  self.webViewController = [[WebViewController alloc]init];
  self.window.rootViewController = self.webViewController;
}

我认为它一定会导致内存泄漏,因为WebViewController每次应用程序从后台激活时都会创建一个新实例。我有多个实例吗?或者如果我“覆盖”旧实例是否会被删除/释放self.webViewController

4

1 回答 1

4

当您覆盖属性的值时,前一个被释放:在内部,它的保留计数减一。如果其他地方没有更多的强引用,那么它就会被释放。

于 2013-11-14T14:51:43.347 回答