我有一个与这段代码相关的问题
NSNumber *lastObject = [self.myStack lastObject];
if(lastObject){
[self.myStack removeLastObject];
}
return [lastObject doubleValue];
我很惊讶的是lastObject
尽管已被删除,但仍然存在于内存中。
这是怎么发生的?是那个吗lastObject
返回对象的副本?
不,这不是副本,它只是自动发布的。将于近期发布。
编辑:澄清 - 上[self.myStack removeLastObject]
, 对象被发送release
立即,但你得到了一个自动释放的指针[self.myStack lastObject]
所以数组不是对象的最后一个所有者。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)