Swift NSNotification 不适用于所有 ViewController

Swift NSNotification not working for all ViewControllers

在此导航控制器应用程序中,我在 TAN ViewController 中有一个按钮,当单击该按钮时 post 一个 NSNotification。

-蓝色(根)ViewController 和绿色 ViewController 都在收听相同的通知
-蓝色ViewController成功响应通知到达
- 绿色 ViewController 没有成功响应。它甚至没有看到它到达(即使我使用与 Blue ViewController 的代码完全相同的代码来注册以侦听此通知。)
-在这两种情况下,我都在注册以收听 viewDidLoad 中的通知:

 override func viewDidLoad() {
    super.viewDidLoad()

    // Set Up Listening to Notification:
    let notificationCenter = NSNotificationCenter.defaultCenter()
    notificationCenter.addObserver(self, selector: "handleNotification:", name:"User Specs Notification", object: nil)
 }

我还确保在访问 TAN ViewController 和 post 来自那里的通知。但是,当我再次返回 Blue/Root ViewController 时,我看到它已正确响应通知的到达,但是当我返回绿色 ViewController 时 - 什么都没有改变。

有什么想法吗?
我应该在 viewDidLoad 以外的地方注册收听通知吗?如果有,在哪里?为什么它仍然适用于 Blue/Root ViewController - 我 amviewDidLoad 注册 - 但不是在绿色 ViewController ?这哪里有逻辑?

当你回到蓝色时,绿色视图控制器被释放VC。所以它不在那里接收通知。