当对象的计数变为 0 或调用 dealloc 时,指向对象的指针是否会变为 nil
?为什么或为什么不?
最佳答案
不,不会,因为释放没有改变指针的能力。只有当您将一个指针 传递给该指针时,它才能做到这一点。
如果你想确保它被设置为零,你必须自己做。
有些人认为这是一种很好的做法,有些人认为这是浪费时间,因为您的代码结构应该在解除分配后(直到重新分配)不使用指针。
我实际上倾向于后一个阵营,但我可以理解为什么人们想要保护自己免于访问释放的内存(防御性编程很少是一个坏主意)。
关于objective-c - Objective-C 中的内存管理和将指针设置为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2032266/