Я не уверен, что не так с вашим проектом.Чтобы решить вашу проблему, я создаю тестовый проект и пишу некоторый код, подобный этому:
//ControllerA.swift
override func viewDidLoad() {
NotificationCenter.default.addObserver(self, selector: #selector(getNotification(notification:)), name: NSNotification.Name("CloseButtonPressed"), object: nil)
}
getNotification(notification: Notification) {
print(notification)
}
@objc func buttonAClick() {
navigationController?.present(ViewControllerB(), animated: true, completion: {
})
}
//ViewControllerB.swift
@objc func buttonClick() {
NotificationCenter.default.post(name: Notification.Name("CloseButtonPressed"), object: self)
self.dismiss(animated: true) {
}
}
Как вы сказали, я добавляю уведомление в ControllerA и представляю ControllerB, когда ControllerB закрывается, публикует уведомление и отклоняет консоль, консольможно распечатать объект уведомления , так что, я могу что-то пропустить?