通知中心值没有第一次、第二次更新

Notification center values is not getting update for first, second time

我有一个 pagMenuController on did select 方法我正在传递索引。在另一个 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 值没有显示。第三,时间到了。我错过了什么。

有什么解决办法吗?

谢谢

将您的观察者移动到 viewdidload

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