【发布时间】:2012-06-14 21:12:54
【问题描述】:
聪明的人,
一般问题,因为这里的代码太多了。我知道我会得到一般性的答案。我只是希望获得更多关于在哪里寻找解决方案的想法。这是我的设置:
OpenGL view - "game view"
UIView - "city view"
ScrollView "city menu"
The scrollview uses 6 view controllers.
One viewController in scroll contains a tableView
当“玩家”进入“城市”时,会出现滚动视图并显示所有视图控制器和中提琴,一切正常。
问题是当“玩家”离开“城市”并进入下一个“城市”时,视图控制器仍然包含上一个“城市”的信息。
尽管有以下情况:
当“玩家”离开“城市”时,包含滚动视图的所有视图控制器的数组被设置为 nil。
当“玩家”进入新的“城市”时,相同的数组被设置为新分配的数组。
viewWillDisappear 时,视图控制器中的 ivars 被设置为 nil。
视图控制器中的 ivars 在其初始化期间被设置为一个新数组。
视图控制器的初始化所有 ivars 在它们的初始化过程中都会重新初始化(我也在 viewWillAppear 中尝试过)。
tableView 正在使用数组(前面提到的 ivars)进行调用。
我很感激任何建议。
E
- 这让我如此疯狂的原因是,我清楚地将带有视图控制器的数组分配为 nil。所有这些对象都应该被释放。齐尔奇。
已解决:似乎我的一个数据数组的保留计数在某处被任意减少。我唯一的猜测是,在 tableView 转换的某个地方它会减少。感谢您的意见。
【问题讨论】:
-
嘿,因为你解决了这个问题。尝试将您的解决方案添加为答案并将其标记为适合您的答案;)
标签: ios cocoa-touch uitableview memory-management