0
使用addSubview時防止內存泄漏的正確方法是什麼?我收到來自Instruments的投訴,說明此代碼存在泄漏。我究竟做錯了什麼?addSubview的內存泄漏故障排除
示例代碼:
my.h
@interface MyCustomControl : UIControl {
UILabel *ivarLabel;
}
@property (nonatomic, retain) UILabel *ivarLabel;
my.m
@synthesize ivarLabel;
- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
self.ivarLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
[self addSubview:self.ivarLabel];
}
return self;
}
- (void)dealloc {
[ivarLabel release];
[super dealloc];
}
感謝您的幫助。
然後在我的addSubview調用中,我會使用:[self addSubview:self.ivarLabel]還是[self addSubview:ivarLabel]? – user542428 2013-03-07 22:16:04
在這種情況下,並不重要,因爲您正在使用get方法(請記住,當您使用'self.something'時,實際上使用該屬性的setter或getter方法)。 – Peres 2013-03-08 13:27:59