【发布时间】:2011-07-21 23:25:01
【问题描述】:
给定这个实例变量:
UILabel *label;
还有以下属性:
@property (nonatomic,retain) UILabel *label;
然后合成如下:
@synthesize label;
以下这些分配是否正确(关于正确的内存管理):
// 1
UILabel *tmpLabel = [[UILabel alloc] initWithFrame:CGSizeZero];
self.label = tmpLabel;
[tmpLabel release];
// 2
self.label = [[[UILabel alloc] initWithFrame:CGSizeZero] autorelease];
// 3 - This one looks shady but I haven't gotten any leaks ( I suppose this will
// not use the created setter)
label = [[UILabel alloc] initWithFrame:CGSizeZero];
- (void)viewDidUnload {
self.label = nil;
[super viewDidUnload];
}
- (void)dealloc {
[label release];
[super dealloc];
}
【问题讨论】:
标签: ios memory-management properties instance-variables