iOS内存管理属性



这是一个MRC项目,是否存在过度发布的问题?因为没有调用属性welcomeLabel,所以我只使用了变量_welcomeLabel

代码如下:

@interface MyViewController ()
 @property (nonatomic, retain) UILabel *welcomeLabel;
@end
@implementation
- (void)dealloc {
    [_welcomeLabel release];
    [super dealloc];
}
- (void)viewDidLoad {
    _welcomeLabel = [[[UILabel alloc] initWithFrame:CGRectMake(10, 10, 60, 40)] autorelease];
    [self.view addSubView:_welcomeLabel];
}
@end

是的,因为您不使用属性设置器,所以refcount不会增加。refcount将保持为1,并且在自动释放池耗尽时释放它两次,在dealloc中释放一次。

最新更新