为什么我的 rx 订阅没有在我的 onNext 上触发?

Why isn't my rx subscription triggered on my onNext?

Rx Swift 我 运行 遇到了我的 subscription 没有触发的情况。

我有两个viewControllers。第一个有 subscriber 应该更新的 label,像这样:

func listen() {
   print("In func")
   let sec = storyboard?.instantiateViewController(withIdentifier: "secondvc") as! SecondViewController

   sec.myRx.subscribe(onNext: {
    print("SUBSCRIBED", [=10=])
       self.rxLabel.text = [=10=]
   })
}

如果您转到第二个 viewController,将有一个按钮可以触发 onNext 事件。像这样:

    var myRx = PublishSubject<String>()

    @IBAction func myButton(_ sender: Any) {
        myRx.asObserver().onNext("Hello")
    }

所以,在我看来,当在第二个 viewController 中按下 myButton 时,第一个 viewController 中的 label 应该在回到那个 viewController。但据我所知,该功能被触发,但 subscription 根本没有被触发。

请确保您订阅的 PublishSubject 与您要发布活动的目标相同。确认这一点的最简单方法是设置断点并检查地址。