添加行时从表格单元格中删除的子视图

时间:2011-08-10 21:57:38

标签: iphone objective-c ios uitableview

我的表格单元格左侧是UIView,中间是标签,右侧是标签。

我用

添加新行
insertRowsAtIndexPaths:withRowAnimation:

我添加的行看起来很好。但是当添加每个单元格时,现有单元格会丢失其UIView,但保留两个标签。

可能导致这种情况的原因是什么?视图在整个时间内保持正保留计数,并且单元标识符都是唯一的。此外,当我向下滚动然后向上滚动,以便必须重新绘制单元格时,UIViews再次可见。添加行时,肯定只在新行上调用cellForRowAtIndexPath。

1 个答案:

答案 0 :(得分:0)

我真的会检查内存/保留逻辑。顺便问一下,您如何确定您的保留计数是否正确?请勿依赖保留计数,因为它没有按预期执行。我之前尝试了很多次,但它不可靠,因此甚至经常会误导。

您是否已使用ARC?

您是否有机会重复使用相同的变量(直接或间接)来创建UIiew?

仅出于测试目的,请确保您确实保留了视图(例如将它们添加到mutablearray等)并查看会发生什么。

此外,如果您发布一些代码,我们将更容易提供帮助!