我正在研究RxSwift并开始创建一些基本的。我添加了新按钮但是rx_tap订阅不适用于按钮操作。以下是我的代码,请让我知道我做错了什么
let button = UIButton(frame: CGRect(x: 10, y: 66, width: 100, height: 21))
button.backgroundColor = UIColor.redColor()
button.setTitle("Login", forState: UIControlState.Normal)
let disposeBag = DisposeBag()
button.rx_tap
.subscribe { [weak self] x in
self!.view.backgroundColor = UIColor.redColor()
}
.addDisposableTo(disposeBag)
self.view.addSubview(button)
答案 0 :(得分:5)
由于DisposeBag
的范围,您的订阅会立即取消。它被创建,然后超出范围并立即解除分配。你需要在某处保留你的包。如果您正在使用视图控制器或类似的东西,您可以在那里创建一个属性并将其分配给它。