代码之家  ›  专栏  ›  技术社区  ›  Fakhar uz zaman

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

  •  1
  • Fakhar uz zaman  · 技术社区  · 6 年前

    我正在开发一个具有以下类型接口的小应用程序(假设)
    启动屏幕->屏幕x->屏幕y

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

    我也检查过其他一些应用程序,但它们没有这样做,比如谷歌地图。

    我在AppDelegate中还实现了以下两种方法

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

    但什么都不起作用。有人能建议我该怎么做吗

    谢谢。

    1 回复  |  直到 6 年前
        1
  •  0
  •   James Woodrow    6 年前

    不确定这是否有帮助,但你可以一直像我一样利用 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
    }