Objective-C的引用计数

_lastSelected = aString;
[_lastSelected release];
_lastSelected = bString;

在一个写PHP的人看来,可能永远无法理解为什么要有第二行代码。下面说一下为什么:
_lastSelected这个变量保存的是一个其他变量的引用。
跟PHP不同的是ObjC需要你自己来维护引用计数。
所以必须有这样一行显式的把_lastSelected这个变量中的引用释放的操作,才能保证那个引用指向的内存单元可以被回收,否则这块内存就泄露了。

相关推荐