Я хочу обновлять отображение моего приложения каждый раз, когда он выходит на передний план. Я использую следующий код в ViewDidLoad
, который, кажется, работает нормально.NotificationCenter addObserver
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.updateDisplay), name: NSNotification.Name.UIApplicationWillEnterForeground, object: nil)
Нужно ли снимать наблюдателя в любой момент?
Вот интересное видео о наблюдателях «NotificationCenter». Они обсуждают альтернативный подход к их удалению ближе к концу: https://talk.objc.io/episodes/S01E27-typed-notifications-part-1 – ganzogo
@humanoid: Сунил Чаухан был абсолютно прав, вы можете принять его ответ. Пробовал код на устройстве iOS 9 и понял, что центр уведомлений не будет запускать метод на деинированном объекте! Протестированы как основанные на методе, так и блочные API в iOS 9 и iOS 10, оба работают абсолютно нормально. Вам больше не нужно удалять наблюдателя –