在view中使用代码添加了43个label,每个label添加完了都release了.但事实上,这些label并没有真正从view中移出,还保留在view上面.
因此,刷新view时,想要重新填写这些label的值时就会出错,在添加label时给这些label设置tag值,需要重新绘制view时,查找到这些label,并把他们的label值设置为空即可.
for(int i = 1;i<=43;i++){
UILabel *_lbDay = (UILabel *)[self.view viewWithTag:i];
_lbDay.text = @"";
[_lbDay removeFromSuperview];
}
最开始[_lbDay removeFromSuperview];我用的是[ _lbDay release ];在第二次构图时就出异常了,遇到modifying layer that is being finalized这样一个问题。
修改为[_lbDay removeFromSuperview];
上面的问题就不再出现了。
本文解决了在iOS应用中批量创建并更新UILabel时出现的异常问题。通过将label的释放操作改为从superview中移除,避免了因试图修改正在被销毁的对象而导致的错误。
1095

被折叠的 条评论
为什么被折叠?



