如何使用RxSwift 与UITextfield 实现如下逻辑?

How to use RxSwift to implement the following logic with UITextfield?

TextCode 右侧有一个UItextField。 密码右侧有一个UItextField

使用RxSwift实现如下逻辑。
SelectAlertItemAlertViewControll sheet样式有A,B,C三个选项,现在我可以实现选择逻辑了。

我不知道如何使用RxSwift来实现下面的逻辑
以下是我的关键逻辑:只有当selectedItem为B时,TextCodeTextField文本必须在编辑结束时复制到PassCodeTextField。

即SelectType为B,TextCodeTextField输入"11111",editingend,则PassCodeTextField为"11111"。

如何使用RxSwift与UITextfield实现如下逻辑?

以下是使用我的因果逻辑效果架构(带注释)的方法:


import Cause_Logic_Effect
import RxCocoa
import RxSwift
import UIKit

final class ViewController: UIViewController {
    var textCodeField: UITextField!
    var selectTypeAction: UIButton!
    var selectTypeLabel: UILabel!
    var passCodeField: UITextField!
    let disposeBag = DisposeBag()
}

extension ViewController {
    func connect() {
        // when user taps the selectTypeAction, display an action sheet alert to
        // get the selection type from the user.
        let selectType = selectTypeAction.rx.tap
            .flatMapFirst(
                presentScene(animated: true, over: selectTypeAction, scene: {
                    UIAlertController(
                        title: nil,
                        message: "Select Item:",
                        preferredStyle: .actionSheet
                    )
                        .scene { [=10=].connectChoice(choices: ["A", "B", "C"]) }
                })
            )
            .share()

        // when the user selects "B" grab the last value entered in the
        // textCodeField and push it to the passCodeField
        selectType
            .compactMap { [=10=] }
            .filter { [=10=] == "B" }
            .withLatestFrom(textCodeField.rx.text)
            .bind(to: passCodeField.rx.text)
            .disposed(by: disposeBag)

        // when the user selects a value push the value to the selectTypeLabel
        selectType
            .bind(to: selectTypeLabel.rx.text)
            .disposed(by: disposeBag)
    }
}