黑马程序员技术交流社区

标题: release问题 [打印本页]

作者: 小龙女的萝卜    时间: 2015-5-23 10:24
标题: release问题
Person *p = [ [Person alloc] init]


[p release];
p = nil;
每次进行完 release 操作后,都要把当前指针清空吗?每次都要写p = nil吗?
作者: sydie    时间: 2015-5-23 10:35
不需要,可以写可以不写。
作者: 蜡笔小炎    时间: 2015-5-23 10:58
不需要,除非不在使用这个对象。
p ----> Person的实例
如上,release是对实例对象的引用计数-1,p是指向对象的指针变量。
如果不再使用该实例,可以p = nil;,p将会变成空指针,箭头消失,实例对象也不能再使用。
一般像这样 p = nil;只是为了避免实例对象释放后再使用指针变量 p造成野指针错误。
我也是菜鸟,应该是这样。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2