/ / RxSwift / RxCocoaでUINavigationControllerの戻るボタンを購読する - ios、uiviewcontroller、rx-swift、rx-cocoa

RxSwift / RxCocoaでUINavigationControllerのバックボタンを購読する - ios、uiviewcontroller、rx-swift、rx-cocoa

簡単なテストプロジェクトがあります。私の.rootViewControllerとしてのUINavigationController。 右側のバーボタン項目として+ボタンを持つ最初のViewControllerを押し、そのタップを購読して新しいViewControllerを表示します(これは前のものと同じです)。 プッシュセグエは期待通りに動作します。

UIKitは私のために戻るボタンを管理しています、そして私はそれがUINavigationControllerがシーンの後ろの魔法をすると思います。

今、私がする必要があるのは後ろに購読することですボタン、しかし私はこれを行う方法を見つけることができません。 私は試してみました 1)navigationController.navigationBar.backItem?.backBarButtonItem?.rx.tap 2)navigationController.navigationItem.backBarButtonItem?.rx.tap しかし、それらはnilであるように思われるので、オプションの連鎖は購読を妨げます。

ご協力ありがとうございます、Luca-

回答:

回答№1は1

ここでの最善の策は、UINavigationControllerの演算子を使用することです。

navigationController.rx.willShow View Controllerが表示される直前にトリガーされます。あなたはそれが発生したときにあなたが最後の最後のクリーンアップを行うことができます。