1

我有两个表表控制器 A 和 B。A 有一个项目列表,当单击一个项目时,它会推送到 B。问题是当显示 B 时,仪器指示实时内存增加,但没有减少当我点击后退按钮时。B 中的 dealloc 方法已执行,但内存似乎略有变化。我检查了 B 没有保留在其他任何地方,那么可能导致此问题的原因是什么?

在 B 中,有许多文本字段,标签是非原子的和强的。我用代码而不是使用 xibs 来绘制它们。如果我注释了初始化它们的代码并将它们添加到表头视图中,那么问题就消失了。

顺便说一句,我使用 Arc 和模拟器 6.1。

4

2 回答 2

1

在我看来,B 中的某些文本字段/标签可能对 B 本身有一些强引用,这使得 arc 无法释放它们,因为 B 具有指向其中的强指针和元素,并且该元素具有指向 B 的强指针。

据我所知,这不是文本字段/标签的默认行为,但也许你已经对它们进行了子类化......

除了用你提供的少量信息猜测之外,很难尝试任何事情

于 2013-04-07T12:23:03.170 回答
0

您是否需要在视图控制器上下文中访问视图?当您需要更改它们时,您不能为它们分配标签并从 tableview 标题中检索它们吗?

于 2013-04-08T01:43:26.867 回答