为什么我的 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
与您要发布活动的目标相同。确认这一点的最简单方法是设置断点并检查地址。
玩 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
与您要发布活动的目标相同。确认这一点的最简单方法是设置断点并检查地址。