Значения Центра уведомлений не обновляются в первый, второй раз - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть pagMenuController на выбранном методе, я передаю индекс.И в другом vc я получаю эти index значения, и мне нужно показать представление, соответствующее входящему index значению.

Код в моем FirstVC:

func pageMenuController(_ pageMenuController: PageMenuController, didSelectMenuItem index: Int, direction: PageMenuNavigationDirection) {
    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "updateView"), object: nil, userInfo: ["indexValue": index]) 
}

Код в моем SecondVC:

override func viewWillAppear(_ animated: Bool) {
    NotificationCenter.default.addObserver(self, selector:  #selector(ContViewController.incomingNotification(_:)), name:  NSNotification.Name(rawValue: "updateView"), object: nil)
}

@objc func incomingNotification(_ notification: Notification) {
    if let indexVal = notification.userInfo?["indexValue"] as? Int {
        print(indexVal)
    }
}

Когда появляется мой экран, мне нужно получить значения index.Но когда я нажимаю на пункты своего меню в первый раз, второй раз index значения не отображаются.3-го и выше времени его прихода.что я пропустил.

Какие-нибудь решения?

Спасибо

1 Ответ

0 голосов
/ 26 февраля 2019

переместить наблюдателя в viewdidload

 override func viewDidLoad() {
    super.viewDidLoad()
        NotificationCenter.default.addObserver(self, selector:  #selector(ContViewController.incomingNotification(_:)), name:  NSNotification.Name(rawValue: "updateView"), object: nil)
 }
...