我正在分配像
这样的对象A * a = [[A alloc] init];
另一方面,我有力地设置
a = nil;
它是否向ARC闪烁消息,现在可以释放该对象?
答案 0 :(得分:2)
快速回答 - 是的。 一旦你将对象设置为nil就会被Arc杀死(大多数情况下,根据我的经验你可以信任ARC)
将为您创建弧中的Dealloc方法。你不能直接进行dealloc调用。但是,如果需要释放实例变量以外的资源,仍可以创建自定义dealloc方法。创建自定义dealloc方法时,不要调用[super dealloc]方法。这将为您完成,并由编译器强制执行。
您可以阅读更多相关信息here
答案 1 :(得分:0)
我认为您指向的原始对象(使用alloc / init创建的空A对象)将被释放,但您仍然可以使用“ a ”指针,并使其指向在另一个对象。