假设我有一个这样的 View Controller :
@interface ControllerA : viewcontroller{
NSString * __strong a;
}
@end
并在
viewDidLoad
函数中设置a = [[NSSString alloc] init];
在另一个ControllerB中,
{
ControllerA * controllerA = [[ControllerA alloc] init];
}
controllerA的成员会被释放吗?
最佳答案
是的,当释放a
时,将释放controllerA
指向的字符串。您无需自己将其设置为nil
。
Transitioning to ARC Release Notes当前是寻找有关使用ARC的更多信息的地方。它提出的一个重要观点是,如果您的类除释放实例变量时释放实例变量外还需要执行其他操作,则可能仍需要自定义-dealloc
。
关于ios - 在ARC下,卸载viewcontroller时需要将nil设置为所有强成员吗?那是必须的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11444988/