我正在使用以下代码从UItableviewcell中移除子视图以清除之前的子视图,然后再添加新的子视图
if ([cell.contentView subviews]) {
for (UIView *subview in [cell.contentView subviews]) {
[subview removeFromSuperview];
}
}
问题在于其中一个子视图是UIImageView对象,因此在删除这些imageview(子视图)后,我的应用程序崩溃了。我甚至无法保持它,因为多个Imageviews堆叠使应用程序更重,应用程序最终会引发内存级别警告和崩溃。
提前致谢
答案 0 :(得分:0)
您不应该删除所有子视图。你不知道他们来自哪里。相反(如果您必须删除子视图)请保留您添加的所有子视图中的NSMutableArray
。然后,当您想要删除它们时,只需遍历该列表并调用removeFromSuperview
,然后清除您的数组。
如果不创建视图,则不应删除其子视图。我以前被烧过。你不知道你添加了哪些,以及之前添加了哪些。您可以轻松删除滚动条,披露指标和其他重要事项。