避免/禁用iOS中的状态保存

时间:2018-09-22 00:45:19

标签: ios objective-c swift

我正在开发一个具有以下类型界面的小型应用程序(假设)
启动屏幕->屏幕X->屏幕Y

问题是,当我关闭该应用程序并同时再次打开它时,它再次向我显示最后看到的屏幕,然后稍后显示启动屏幕,然后显示初始视图控制器。

我也检查了其他一些应用程序,但是它们却没有这种行为,例如谷歌地图。

我还在AppDelegate中实现了以下两种方法,如下所示:

func application(_ application: UIApplication, shouldSaveApplicationState coder: NSCoder) -> Bool {
        return false
    }

func application(_ application: UIApplication, shouldRestoreApplicationState coder: NSCoder) -> Bool {
        return false
    }

但是没有任何效果。有人可以建议我该怎么做

谢谢。

1 个答案:

答案 0 :(得分:0)

不确定这是否有帮助,但是您可以像我一样始终使用NotificationCenter

// In something like viewDidLoad
NotificationCenter.default.addObserver(self, selector: #selector(returnedFromBackground), name: NSNotification.Name.UIApplicationWillEnterForeground, object: nil)

...

@objc func returnedFromBackground() {
    // Anything you want to preserve/save/do and then segue (or whatever you use) to your launching screen
}