iOS app returns 在后台保存到 rootViewController

iOS app returns to rootViewController when kept in background

我的 iOS 应用程序 returns 回到 rootViewController 当在后台保存更长时间时。 为了证明我有下面的图片

我一直导航到 ViewControllerC 并将应用程序保持在后台,当我 returns 对应用程序说 30 分钟后,应用程序显示 rootViewController,即 ViewControllerA。

我希望它保留在 ViewControllerC 上,就像它保留在 Whatsapp 中一样。我知道当系统内存不足时,我的应用程序(空闲应用程序)将从内存中删除,因此当我打开应用程序时,它将带我回到指定的初始视图控制器。但是,为什么 whatsapp 不会发生这种情况?

Apple 为这种情况提供了解决方案:UIViewController 和 App Delegate 具有允许您保存和恢复状态的方法。当应用程序进入后台时,当前配置(视图控制器的视图显示的内容)将被保存。这样,即使应用程序退出,当它重新启动时,它也可以在向用户显示之前返回到该配置。因此,从 background-and-quit 回来看起来就像从单纯的背景回来。

有关完整详细信息,请参阅 Apple 的文档。这是一个很好的起点:

https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/PreservingandRestoringState.html