野指针与空指针

野指针就是指指向僵尸对象的指针,指向已经被释放的对象地址

产生野指针的原因主要为以下两点:
(1)定义指针变量时没有初始化,这个时候它是随机指向一个地方的,不为NULL
(2)指针指向的内存被释放之后,没有置为nil,即指向了不可用内存

一般在释放对象后将指针置为nil可避免野指针错误。
这里注意一点
- (BOOL)judge {

}
if([nil judge]) 会返回false

空指针是指向NULL的指针

僵尸对象
是指已经被释放的对象,不可再用的对象

你可能感兴趣的:(野指针与空指针)