Операция связывания RxSwfit сохраняет цикл - PullRequest
0 голосов
/ 12 марта 2019

Я новичок в среде 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
    }

Есть ли здесь какая-либо проблема сохранения цикла?

1 Ответ

2 голосов
/ 12 марта 2019

Да, слабый должен использоваться, когда вы используете себя внутри блока. И используйте подписку вместо привязки.

basicLoginButton.rx.tap.subscribe(onNext: { [weak self] () in
    print(self?.nameText.value ?? "")
    self?.nameText.accept("ahmet vefa saruhan")
}).disposed(by: disposeBag)

Я думаю, что во втором случае все правильно, «слабых» не нужно.

...