NSZombie 详解 -僵尸对象

1、什么是僵尸对象?

简而言之,就是过度释放的对象。

2、僵尸对象有什么特点?

如果一个对象a被变成了僵尸对象,那么,在进行下面的判断时,a是会被系统当成一个对象来进行判断的。但是,如果你使用a进行其它操作,系统将会提示你send message to a dealloc 对象。如下

if(!a)
{
   a = [[A alloc]init];      
}
a.color = [UIColor redColor];

具体实例如下:

参考:

Somya Jain谈从C#到Object-C

iOS性能优化–查找和解决僵尸对象

iOS开发那些事-性能优化–查找和解决僵尸对象

原文地址:https://www.cnblogs.com/ygm900/p/3676492.html