iOS内存管理属性

标签 ios objective-c memory

这是一个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

最佳答案

是的,因为您不使用属性 setter ,所以引用计数不会增加。 refcount 将保持为 1,你释放它两次,一次是在自动释放池耗尽时,一次是在 dealloc 中。

关于iOS内存管理属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32560684/

相关文章:

ios - XDK如何在没有MAC的情况下编译IOS App?

ios - 从 Storyboard实例化后无法分配给 View Controller 的属性

c - malloc 作为堆栈内存分配的替代方案

c++ 程序在不同的机器上显示出非常不同的内存行为

c++ - SDL 2 程序使用 1.4 GB 内存?

ios - UIButton 平滑触控效果

ios - tableview动态高度行根据内容高度

iOS Scatter核心图,如何用一条线连接两个点?

mysql - 从 MySQL 中的自动递增索引更改

objective-c - -[NSInvocation retainArguments] 是否复制 block ?