Objective c 在modalTransition完全卸载ViewController?

Objective c 在modalTransition完全卸载ViewController?,objective-c,xcode,uiviewcontroller,uimodaltransitionstyle,presentviewcontroller,Objective C,Xcode,Uiviewcontroller,Uimodaltransitionstyle,Presentviewcontroller,通常,在模式转换之后,第二个viewController在后台的可见viewController后面运行 是否有可能完全卸载第二个ViewController?? 如果我不想使用推送,因为我想在过渡上使用动画…几点: 你在担心一些不值得担心的事情。视图控制器是轻量级的简单对象。唯一的重量级对象是视图,事实上,当另一个视图控制器的视图显示在其位置时,它将从界面中删除 游戏不会“在后台运行”。如果是这样,那就是你做错了。您应该在viewdidegame:中检测到您的视图不再在界面中,并停止所有活动

通常,在模式转换之后,第二个viewController在后台的可见viewController后面运行

是否有可能完全卸载第二个ViewController?? 如果我不想使用推送,因为我想在过渡上使用动画…

几点:

  • 你在担心一些不值得担心的事情。视图控制器是轻量级的简单对象。唯一的重量级对象是视图,事实上,当另一个视图控制器的视图显示在其位置时,它将从界面中删除

  • 游戏不会“在后台运行”。如果是这样,那就是你做错了。您应该在
    viewdidegame:
    中检测到您的视图不再在界面中,并停止所有活动。这就是这些活动的目的

  • 如果您仍然致力于确保在游戏未显示时视图控制器本身被破坏,那么请使用不同的体系结构。例如,演示游戏控制器。当游戏控制器被解除时,它将被释放并销毁


你到底想做什么?我正在用SpriteKit制作一款游戏。有菜单和游戏本身。如果用户在游戏中失败,他可以重新启动游戏或返回菜单。如果他想进入菜单,我会用菜单切换到ViewController,但我不想让游戏处于背景中。应卸载带有游戏的ViewController。如果用户想玩得更远,他可以再次按下菜单中的“播放”按钮,因此无需让游戏在后台运行。这是对内存的浪费…先放菜单控制器。然后展示游戏视图控制器。如果用户失败并想进入菜单,请关闭游戏控制器,它将被销毁。但是,我认为您过早地进行了优化,担心自己遇到了一些并非真正的问题。