我设计并构建了基于 UINavigationController 的游戏。我有几个像图片上的 ViewControllers。您从 RootVC 选择 NewGame,您就可以玩了。完成后,您要求转到 NextBoardVC 中的下一个板。在 10 个板之后,您将通过 NextLevelVC 进入下一个级别。有5个级别。每个级别包含 10 个板。问题是我正在使用 pushViewController 方法推送每个 ViewController。 5 个级别后,堆栈中有 52 个 VC,有时应用程序会崩溃。
GameVC 包含很多 png 和一些声音,所以它很重。我没有任何泄漏(通过 Instruments 测试)
抱歉,我没有声誉,所以我无法通过 stackoverflow 上传图片。
这是一张图片:
View 层次结构的文本表示:
RootVC
--OptionsVC
--HowToPlayVC
--NewGameVC
--GameVC
--NextBoardVC
--NextLevelVC
--GameVC
--NextBoardVC
--NextLevelVC
--GameVC
--NextBoardVC
--NextLevelVC
--GameVC
--... and so on many times
是否有更好的导航方式和消除崩溃的方法?
最佳答案
为什么不直接将 Controller 弹回,而不是将越来越多的 Controller 推到顶部,尤其是在您在“循环”中返回的那些点?
关于iphone - 导航 Controller 溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6598948/