代码之家  ›  专栏  ›  技术社区  ›  Alexander Vasenin

类型“uiapplication”没有成员“didbecomeActiveNotification”

  •  1
  • Alexander Vasenin  · 技术社区  · 7 年前

    我正在尝试为添加观察者 UIApplication.didBecomeActiveNotification 代码如下:

    NotificationCenter.default.addObserver(forName: UIApplication.didBecomeActiveNotification, object: nil, queue: nil) { _ in /* some code */ }
    

    但是Xcode说 Type 'UIApplication' has no member 'didBecomeActiveNotification' 尽管它 officially documented 作为 UIApplication 类常量。我做错什么了?

    2 回复  |  直到 7 年前
        1
  •  3
  •   Daniel T    7 年前

    当您使用xcode 10时,在 建立设置 ,如果你设置 Swift语言版本 成为 Swift 4 ,你应该写:

    NotificationCenter.default.addObserver(forName: .UIApplicationDidBecomeActive, object: nil, queue: nil) { _ in /* some code */ }
    

    如果设置为 Swift 4.2 ,请改为使用:

    NotificationCenter.default.addObserver(forName: UIApplication.didBecomeActiveNotification, object: nil, queue: nil) { _ in /* some code */ }
    
        2
  •  1
  •   Alexander Vasenin    7 年前

    您应该将通知名称更改为 .UIApplicationDidBecomeActive 这样地:

    NotificationCenter.default.addObserver(forName: .UIApplicationDidBecomeActive, object: nil, queue: nil) { _ in /* some code */ }
    

    显然地, didBecomeActiveNotification 仅适用于iOS 12 SDK。