2

聪明的人,

一般问题,因为代码太多了,无法在这里过去。我知道我会得到一般性的答案。我只是希望获得更多关于在哪里寻找解决方案的想法。这是我的设置:

OpenGL view - "game view"
UIView - "city view"
ScrollView "city menu"
The scrollview uses 6 view controllers.
One viewController in scroll contains a tableView

当“玩家”进入“城市”时,会出现滚动视图并显示所有视图控制器和中提琴,一切正常。

问题是当“玩家”离开“城市”并进入下一个“城市”时,视图控制器仍然包含来自最后一个“城市”的信息。

尽管有以下情况:

  • 当“玩家”离开“城市”时,包含滚动视图的所有视图控制器的数组设置为 nil。

  • 当“玩家”进入一个新的“城市”时,同样的数组被设置为一个新分配的数组。

  • 视图控制器中的 ivars 在其 viewWillDisappear 时设置为 nil。

  • 视图控制器中的 ivars 在其初始化期间被设置为一个新数组。

  • 视图控制器的初始化所有 ivars 在它们的初始化过程中都会重新初始化(我也在 viewWillAppear 中尝试过)。

  • tableView 使用数组调用(前面提到的 ivars)。

我很感激任何建议。

  • 这让我如此疯狂的原因是,我清楚地将带有视图控制器的数组分配给 nil。所有这些对象都应该被释放。齐尔奇。

已解决:似乎我的一个数据数组的保留计数在某处被任意减少。我唯一的猜测是,在 tableView 转换的某个地方它会减少。谢谢你的看法。

4

1 回答 1

0

已解决:似乎我的一个数据数组的保留计数在某处被任意减少。我唯一的猜测是,在 tableView 转换的某个地方它会减少。

于 2014-01-08T01:57:11.647 回答