有时我在释放对象后将对象设置为nil
,以避免由于发送到dealloc
对象的意外消息而导致崩溃。
为什么 Objective-c 运行时不在对象最终dealloc
时自动执行此操作?
最佳答案
因为指针是按值传递的,而不是按引用传递的。所有 dealloc
获取的都是指针的本地副本;它所做的任何更改都将被丢弃。 C 的 free
和 C++ 的 delete
也是如此。
关于objective-c - 为什么 Objective-c 运行时不将 dealloc 的对象实例设置为 nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7573081/