我的UILabel中有一个UIView插针(使用ARC)。
我动态创建了大量文本,每次都覆盖相同的指针。
我以为,如果我一直使用相同的指针,并用新对象覆盖它,它们仍然在我的View中,但是它们的指针将被释放。但是,正如我所看到的,如果更改了文本并执行了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];
}

最佳答案

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

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

07-27 22:02