iphone - 导航 Controller 溢出

标签 iphone ios navigationcontroller

我设计并构建了基于 UINavigationController 的游戏。我有几个像图片上的 ViewControllers。您从 RootVC 选择 NewGame,您就可以玩了。完成后,您要求转到 NextBoardVC 中的下一个板。在 10 个板之后,您将通过 NextLevelVC 进入下一个级别。有5个级别。每个级别包含 10 个板。问题是我正在使用 pushViewController 方法推送每个 ViewController。 5 个级别后,堆栈中有 52 个 VC,有时应用程序会崩溃。

GameVC 包含很多 png 和一些声音,所以它很重。我没有任何泄漏(通过 Instruments 测试)

抱歉,我没有声誉,所以我无法通过 stackoverflow 上传图片。

这是一张图片: http://imageshack.us/photo/my-images/641/navigationg.jpg/

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/

相关文章:

iphone - unix 时间戳到几小时前

苹果手机 : UITableView Header row repeating after 6 rows

ios - 使用相同的证书/配置文件通过 PhoneGap 部署两个单独的 iOS 应用程序

ios - 收到推送通知时打开特定选项卡并在 uiwebview 中启动特定网址

ios - 快照 View (屏幕更新后 : true) returns an empty view

ios - 在 UINavigationBar 中动态更改 backButton 的可见性

ios - 为什么这个图像不断出现? objective-C

iphone - 从客户端发送推送通知

ios - 在 Swift 中使用 GTM v5 TAGCustomFunction

swift - 滑动以在 Swift 中弹出 View Controller