[Objective-C]Xcode打开僵尸对象实时检查机制

僵尸对象:

一个已经释放的对象,但是这个对象所占的空间还没有分配给其他对象,这样的对象就叫做僵尸对象。所以通过野指针访问僵尸对象时,可能会出现问题,也可能不会出现,就取决于所占的空间是否已被分配。

编程时,我们想要僵尸对象无论如何都不允许被访问了,可以在Xcode中打开Enable Zombie Object机制。

  1. 在项目左上角,打开Edit Scheme。

2. 选择左侧的Run,上方的Diagnostics,勾选Zombie Object即可。

    为什么不默认打开僵尸对象实时监测进程? 打开后,在访问每个对象时,都要先检测一下这个对象是否是僵尸对象,能耗极大。 如何避免僵尸对象访问报错? 当1个指针变为野指针后,将其设置为nil。此时再用这个指针去调用方法对象(包括点语法)时,不会报错,只是没有反应;但是如果通过直接访问属性->就会报错。
经验分享 程序员 微信小程序 职场和发展