【发布时间】:2010-12-18 04:14:51
【问题描述】:
我经常看到当我们释放 ab 对象时,我们立即将它设置为 nil。我知道 release 和 nil 都释放了与 object 关联的旧值,但在 release 的情况下,它会将对象作为悬空指针,因此我们必须将其设置为 nil。
所以我的问题是如果 nil 释放对象的旧值并将对象设置为 nil 为什么我们不应该只使用 nil 为什么 w 也应该使用 release。
方式1:
MyClass *obj = [[MyClass alloc] init];
[obj release];
obj = nil;
方式2:
MyClass *obj = [[MyClass alloc] init];
obj = nil;
如果使用way1 为什么不只使用way2,那么way1 和way2 的真正区别是什么?
【问题讨论】:
标签: iphone cocoa-touch xcode memory-management