4
例:disposeBag
は自己によって制御されているのでRxSwiftドライバで[unowned self]を使用するのは安全ですか?
tapGestureRecognizer.rx.event.asDriver()
.drive(onNext: { [unowned self] _ in
self.view.endEditing(true)
})
.disposed(by: disposeBag)
、私はイエスと仮定だろうか?
理由を説明できますか? – Szu
オブジェクト 'self'が逆参照されるとき、それはオブジェクトが割り当てを解除された時点であり、' disposeBag'プロパティもその時点で参照されます。 'disposeBag'が割り当て解除されると、そのディスポーザブルのすべてが削除されます。つまり、そのサブスクリプションのすべてがサブスクライブされていません。したがって 'drive(onNext:)'サブスクリプションの存続期間は 'self'の存続期間に結びついています。つまり、クラッシュがクラッシュするケースでは実行されません。 – ctietze