假如 有一个变量P
1。当[P release]时,只是会对P的retain值减1,如果当P为1时,再[P release] ,那么就会释放掉P所指向的内存空间
2.当P=nil,是指将P置为空指针,如果P的retain此时不为0,那么P所指向的内存空间并不会随着P=nil而被释放,(如果P所指向的内存空间在P=nil后并未被再次使用,那么就会造成内存泄露)
3。当[P release]后retain为0时,a:若P此时不为空指针,即不等于0x00000000,在其后再调用了指针P,那么就会产生EXC_BAD_ACCESS错误;b:若P此时为空指针,即等于0x00000000,则调用不会出错。
4.nil是一个特殊的对象,可以向其发送消息而不会出错