NSE*_*rer 4 iphone memory-management objective-c ios
有什么区别
self.myObject = nil;
和
[myObject release];
另外,为什么前者通常在viewDidUnload方法中使用,后者在dealloc方法中使用?
假设一个retain属性,那么:
self.myObject = nil;
将释放对象并将属性的值设置为nil.它也将通过setter方法执行此操作,可能会触发KVO通知.还有这个:
[myObject release];
将只释放对象,在属性中留下悬空指针.
后者通常用于-dealloc因为您在释放对象后不关心变量的值,还因为您不希望从正在销毁的对象触发KVO通知.前者几乎用在其他任何地方.
| 归档时间: | 
 | 
| 查看次数: | 957 次 | 
| 最近记录: |