我的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;