#ios #swift
#iOS #swift
Вопрос:
Внутри экземпляра класса я вызываю приведенный ниже метод setUpNotificationHandling
,.
Я создаю экземпляр класса только один раз в своем коде, а не при отправке данных.
Будут ли наблюдатели оставаться активными после добавления в очередь уведомлений или мне нужно найти способ вызывать их снова и снова
init(modelName: String) {
self.modelName = modelName
setUpNotificationHandling()
}
private func setUpNotificationHandling() {
let notificationCenter = NotificationCenter.default
if #available(iOS 13.0, *) {
notificationCenter.addObserver(self, selector: #selector(saveChanges(_:)), name: UIScene.willDeactivateNotification, object: nil)
} else {
notificationCenter.addObserver(self, selector: #selector(saveChanges(_:)), name: UIApplication.willResignActiveNotification, object: nil)
}
}
@objc func saveChanges(_ notification: Notification) {
saveChanges()
}
private func saveChanges() {
guard self.managedObjectContext.hasChanges else {
return
}
do {
try self.managedObjectContext.save()
}
catch {
print("unable to save moc")
print("(error), (error.localizedDescription)")
}
}
Ответ №1:
Пока ваш наблюдатель не умрет или не будет вызван removeObserver(_:)
, NotificationCenter будет продолжать отправлять уведомления вашему наблюдателю.
Комментарии:
1. итак, просто для подтверждения, не нужно искать способ вызывать его снова и снова, один вызов и все готово, верно?