假设我有一个这样的 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
。 p>
关于ios - 在 ARC 下,卸载 viewcontroller 时需要为所有强成员设置 nil 吗?那是必须的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11444988/