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