問題タブ [rx-swift]

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 投票する
1 に答える
1439 参照

ios - RxSwift の RxJava onErrorResumeNext 演算子の類似物は何ですか?

RxSwift でエラーが発生した場合は、一連のアイテムを発行する必要があります。JAVA では「onErrorResumeNext」演算子で実行できます。しかし、Swift で同じ演算子またはその代替を見つけることができません。

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

ios - RxSwift の RACCommand に相当するものは何ですか?

ビューとビューモデルがあります。ビューにはボタンが含まれており、ユーザーがボタンを押すたびに、ビュー モデルに通知する必要があります。また、最初のビュー モデルがイベントを取得したときに、2 番目のビュー モデルに通知する必要があります。

したがって、タップ イベントは次のように伝播されます。

にバインドbutton.rx_tapすることviewModel1.onButtonTapped()でこれを設計できますが、サブスクライブしてイベントも取得したいのでviewModel2、アクションを受け取って伝播するある種のオブザーバブルが必要です。それが何をするかだと思いますRACCommand

RxSwift を使用してこれを実装するにはどうすればよいですか?

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

ios - オブジェクトを RxSwift アクションのサブスクライバーに送信

以前は Objective-C で ReactiveCocoa を使用していましたが、RAC4 よりも理解しやすい RxSwift に切り替えました。ただし、RAC で使用していた便利な機能があります。

これにより、コマンドの実行状態と実行シグナルをサブスクライブできるようになり、呼び出しから返されるデータを観察できるようになりました。

これを RxSwift Action で再現する方法がわかりません。実行中のオブザーバブルにのみサブスクライブできます。

ただしPublishSubject、応答データを送信するために追加を作成する必要があります。

アクションを使用してRxSwiftで同様のパターンを作成する方法はありますか?

0 投票する
3 に答える
10969 参照

ios - RxSwift フィルター 変数配列

こんにちは、RxSwift ライブラリを理解し、より優れた機能的なコードを書こうとしています。

現在、私は非常に基本的な問題で立ち往生しています。次のタイプの変数を取得したとしましょうVariable<[CiteModel?]>:

allCitesここで、特定のテキストを含む配列からすべての引用をフィルタリングし、それらを に追加したいと考えていshownCitesます。

これは私が試したものですが、フィルターブロック内が期待どおりで$0[CiteModel?] ない CiteModel?ため、コンパイルできません。私が何を間違えたのか説明してもらえますか?

上記のコードを実行したときのエラー:

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

swift - RxSwift を使用した一般的な変換方法の問題

タイプと進行状況をラップするこの結果データ型が呼び出されました

これは構造体 (ObjectMapper)AnyObjectに変換する必要があるMappableため、これらの Mappable 構造体がいくつかあるため、次のような汎用マップを使用できるようにしたいと考えました。

これはコンパイルできないため、上記の定義は間違っているようです。Cannot explicitly specialize a generic function

ここで何が間違っていますか?

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

swift - RxSwift で 2 つの通知オブザーバーをマージする

私はこのコードを持っています:

指定された通知のいずれかをリッスンし、いずれかがトリガーされたときに処理することになっています。

ただし、これはコンパイルされません。次のエラーが表示されます。

これら2つの信号を1つにマージするにはどうすればよいですか?

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

ios - ネットワーク呼び出し後の UIRefreshControl へのバインディング

私はRxSwiftが初めてで、ターゲットを作成する通常の方法ではなく、UITableViewでUIRefreshControlを「リアクティブに」使用し、手動で and を呼び出す方法を考えていましbeginRefreshing()endRefreshing()

たとえば、API からいくつかの文字列を読み込んでいるとします。

MyAPIいくつかの文字列値のリクエストを送信します。ネットワーク リクエストを終了 (またはエラー) したときrefreshControlに呼び出しをバインドし、getData()更新を停止するにはどうすればよいですか? refreshControl.rx_refreshingにバインドする必要がありますか?

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

ios - UICollectionViewControllerの適切なMVVMアーキテクチャは何でしょうか

RXSwiftとMVVMを使ってiPad用のアプリを作っています。

UICollectionView を持つ UIViewController と、dataSource および collectionView のデリゲートとして機能する ViewModel があります。

コレクション セルの機能の一部は、ボタンをタップしてポップオーバーを表示することです。現在、iOS 9 (おそらくそれ以前) の新しいポップオーバー機能では、View Controller 内で通常どおりビューを表示し、popoverPresentationController を変更する必要があります。

さて、私が知る限り、UICollectionViewCell から UIViewController を提示することはできません。理にかなっています。

しかし、これを行う唯一の方法は、ViewController を指すデリゲートを持つことです。

クラス ダイアグラム (添付) を見ると、viewModel はセルのデキュー時にデリゲートを設定する必要があります。これを行うには、ViewModel は、どの ViewController をデリゲートとして設定するかを知る必要があります。これは、viewModel のポイントに反すると確信しています。MVVM (for iOS) によると、ビュー モデルはビュー コントローラーについて認識すべきではありません。ビューコントローラーは、ビューモデルについて知ることができます。

それで私の質問は、MVVMに続いてこれを行うための最良の方法は何ですか? dataSource/Delegate を別のクラスに移動する必要がある場合は、それで十分です。

UML ダイアグラム

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

swift - 初期化時に RxSwift PublishSubject が意図せずトリガーされる

ボタンのクリックを転送するために PublishSubject を使用しようとしています。ただし、この PublishSubject は初期化時にトリガーされ、それが私のロジックに干渉します。これは私がやっていることです:

(この初期化行は、最初の Next イベントをトリガーします)

次に、ボタンタップアクションで:

そして、次のようにサブスクライブします。

初期化時に公開された最初の「次の」イベントをトリガーせずにこれを行う方法はありますか?

乾杯!

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

ios - subscribeNext と bindNext の違い

RxSwift を使用していますが、subscribeNext と bindNext の違いは何ですか?

ご意見ありがとうございます。