問題タブ [rx-cocoa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
18233 参照

ios - UICollectionViewCell の UIButton に rx.tap がある場合の問題 - RxSwift 3

1つの UIButton に対して2回サブスクライブしています:

  1. クリックごとに UI を更新するための最初のサブスクリプション
  2. 2 番目のサブスクリプション。クリックの累積後、1 秒ごとに Web サービスの値を更新します。

コード:

問題:

で破棄が発生するためprepareForReuse()、ボタンを何度もクリックしてすぐにスクロールすると、Web サービス呼び出しが破棄され、更新されません。

私が試したこと:

  1. addDisposableTo(vc?.rx_disposableBag)親の ViewController DisposableBag に追加されました。

    問題は、購読が蓄積され、クリックするたびにupdateWS()何度も呼び出され、スクロールごとに購読され、破棄されることはありません。

  2. からdisposableBagの再初期化を削除しようとしましたprepareForReuse()

    問題は、ボタンへのサブスクリプションが重複して蓄積され、クリックするたびに多くの Web サービス呼び出しが呼び出されることです。

質問:debounceサブスクリプションを最後まで呼び出し、複数のサブスクリプションで繰り返されないように するにはどうすればよいですか ( addDisposableToviewController バッグの場合) ?

0 投票する
1 に答える
1746 参照

ios - ボタンタップで PublishSubject を観察する方法

私はそのようなケースを扱っており、ここで RxSwift を適用することを考えています。

.xibボタン付きのUIViewがあります。

viewController でこのビューのインスタンスを作成します

セグエからこのボタンをクリックすると、次の VC に移動する必要があるため、UIView のサブジェクトにサブスクライブします

しかし、ボタンのタップを公開サブジェクトの状態の変更にリンクするにはどうすればよいですか?