我是rxswift框架的新手。我在下面编写了一个代码,我不确定。是否有任何保留周期?我必须使用弱自我引用吗?
loginButton.rx.tap.bind {
print(self.nameText.value ?? "")
self.nameText.accept("ahmet vefa saruhan")
}.disposed(by: disposebag)
第二种情况是:
func myTestFunction(handler : () -> Void) {
handler()
}
myTestFunction {
self.isVisible = false
}
这里有任何保留周期问题吗?
是的,当你使用self inside block时应该使用weak。并使用subscribe而不是bind。
basicLoginButton.rx.tap.subscribe(onNext: { [weak self] () in
print(self?.nameText.value ?? "")
self?.nameText.accept("ahmet vefa saruhan")
}).disposed(by: disposeBag)
我认为在第二种情况下,一切都是正确的,没有必要'弱'。