UIView中的动态UILabel增加了内存

时间:2014-09-03 08:53:25

标签: ios objective-c memory uiview

我的UILabel(使用ARC)中有一个UIView pinter。 我动态创建了很多文本,并且每次都覆盖相同的指针。 我想,如果我一直使用相同的指针,并用新对象覆盖它们,它们仍然在我的视图中,但它们的指针将被释放。但正如我所见,如果文本被更改并且drawRect已执行,我的记忆会一直增加。也许有人知道更好的方法,或解决这个内存问题。

更新:代码

@interface Bars : UIView{
    NSMutableDictionary *dictCopy;
    UILabel *pivotLabel;
}
for (a lot of times) {
pivotLabel = [[UILabel alloc] initWithFrame:frame];
pivotLabel.text = pivotText;
pivotLabel.backgroundColor = [UIColor clearColor];
pivotLabel.textColor = self.color;
[self addSubview:pivotLabel];
}

1 个答案:

答案 0 :(得分:1)

当您将新标签添加为子视图时,父视图会保留该标签。 Nilling指针不足以删除它。要删除标签,请执行以下操作:

        [self.myLabel removeFromSuperview];
        self.myLabel = nil;