我做[foo release]操作
接下来我需要第二次使用foo。怎么样?
答案 0 :(得分:6)
在取消分配对象后,您无法重用该对象。
您必须在第二次操作完成后才能将其释放。
答案 1 :(得分:5)
如前所述,在取消分配对象后,您无法使用它们。当retainCount
变为零时,就会发生重新分配。如果由于某种原因,您无法删除该[foo release]
来电,则必须事先致电[foo retain]
。如果您的第二次使用不久后,您也可以尝试拨打[foo autorelease]
而不是[foo release]
。
在Objective-C中有一个非常好的内存管理演练:Stanford's cs193p Lecture 4