В настоящее время я должен получить доступ к экземпляру ViewController из AppDelegate.Но я обнаружил, что это не очень хорошая идея, поэтому я решил использовать
NotificationCenter.default.addObserver
.
Вот мой код.
*// ViewController*
override func viewDidLoad() {
super.viewDidLoad()
// Do some initial UI settings
NotificationCenter.default.addObserver(self, selector:
#selector(applicationDidEnterBackground), name: UIApplication.didEnterBackgroundNotification, object: nil)
}
deinit {
NotificationCenter.default.removeObserver(self)
}
// Check which object called this method
@objc func applicationDidEnterBackground(file: String = #file, line: Int = #line, function: String = #function) {
// Do something I want to do...
print("applicationDidEnterBackground triggered by: \(file):\(line) : \(function)")
}
Когда я запускаюприложение и войти в фон, когда я нажимаю кнопку домой
Thread 1: EXC_BAD_ACCESS (code=1, address=0x1)
Я получаю эту ошибку в AppDelegate.swift.
Я включил опцию объектов-зомби, но консоль не выводилась.Я также попробовал Xcode Analyze, но в списке проблем ничего не было.
Я думаю, что что-то не так с распределением объектов и памяти, но все же я не могу понять, что именно я делаю неправильно.