我正在尝试向通知观察者添加一个块,但是在移动前景和背景时应用程序崩溃了。如果我向观察者添加方法可以正常工作,则只有在其崩溃的情况下才可以。这是我正在尝试的代码。
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(foregroundEntered(closure:)), name: UIApplication.willEnterForegroundNotification, object: nil)
// Do any additional setup after loading the view.
}
@objc func foregroundEntered(closure: () -> Void) {
/// do some stuff
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
NotificationCenter.default.removeObserver(self, name: UIApplication.willEnterForegroundNotification, object: nil)
}
}
谢谢。
答案 0 :(得分:1)
替换
@objc func foregroundEntered(closure: () -> Void) {
使用
@objc func foregroundEntered(_ notif: NSNotification) {
然后改变
NotificationCenter.default.addObserver(self, selector: #selector(foregroundEntered), name: UIApplication.willEnterForegroundNotification, object: nil)