我应该在 RxSwift 中手动处理 UIButton 实例吗?

should I manually dispose a UIButton instance in RxSwift?

我是 RxSwift 的新手,在阅读有关它的博客时感到困惑。

这是在自定义视图中创建按钮的正确方法吗?

    let disposeBag = DisposeBag()
    lazy var followButton: UIButton = {
        let btn = UIButton(frame: .zero)
        btn.rx.tap.subscribe(onNext: { [weak self] in
            // do something when the button is tapped
        }).disposed(by: disposeBag) // this line
        
        return btn
    }()

是否只要按钮被订阅(观察到)就必须使用disposed(by: DisposeBag)

更新

 lazy var followButton: UIButton = {
        let btn = UIButton(frame: .zero)
        btn.rx.tap.subscribe(onNext: { [weak self] in
            // do something when the button is tapped
        }) 
        // a warning says 
        // Result of call to 'subscribe(onNext:onError:onCompleted:onDisposed:)' is unused
        
        return btn
    }()

警告似乎暗示 api 旨在连接另一种方法,如 disposed。 如果我们不需要disposed,这里应该用什么方法?
或者只是 _ = btn.rx.tap.subscribe...?

当按钮被取消时,UIButton 的点击将完成,因此不需要明确处置(除非你想在按钮取消之前取消它。)将订阅添加到处置包当然没有错,但这不是必要的

_ = btn.rx.tap
    .subscribe(onNext: { 
        // do something when the button is tapped.
    })

上面是你不想要disposeBag的处理方法