RxSwift 绑定操作保留周期
RxSwfit bind operation retain cycle
我是 rxswift 的新手 framework.I 已经写了下面的代码但我不是 sure.Is 有任何保留循环吗?我必须对自己使用弱引用吗?
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
}
这里有任何保留循环问题吗?
是的,当你在 block 中使用 self 时应该使用 weak。
并使用订阅而不是绑定。
basicLoginButton.rx.tap.subscribe(onNext: { [weak self] () in
print(self?.nameText.value ?? "")
self?.nameText.accept("ahmet vefa saruhan")
}).disposed(by: disposeBag)
我认为在第二种情况下,一切都正确,不需要'weak'。
我是 rxswift 的新手 framework.I 已经写了下面的代码但我不是 sure.Is 有任何保留循环吗?我必须对自己使用弱引用吗?
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
}
这里有任何保留循环问题吗?
是的,当你在 block 中使用 self 时应该使用 weak。 并使用订阅而不是绑定。
basicLoginButton.rx.tap.subscribe(onNext: { [weak self] () in
print(self?.nameText.value ?? "")
self?.nameText.accept("ahmet vefa saruhan")
}).disposed(by: disposeBag)
我认为在第二种情况下,一切都正确,不需要'weak'。