【发布时间】:2011-05-12 02:17:11
【问题描述】:
我已经开始学习 Three20 并且有一个关于TT_RELEASE_SAFELY 的简单问题
直到现在我都喜欢这样写代码:
UILabel *lab = [[UILabel alloc] initWithFrame:rect];
[self.view addSubview:lab];
[lab release];
这里我认为主池负责释放lab的内存。
现在我找到了TT_RELEASE_SAFELY,它的定义如下:
#define TT_RELEASE_SAFELY(__POINTER) { [__POINTER release]; __POINTER = nil; }
如您所见,发布后,它将对象设置为nil。
我想知道这两种方式的区别,哪种方式更好。
谢谢。
【问题讨论】:
标签: objective-c memory-management three20