問題タブ [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 投票する
3 に答える
7751 参照

ios - RxSwift を使用して UITableViewCell を更新するにはどうすればよいですか?

UITableView を作成してセルをレンダリングするデモのを学びました。

私の意見でitemsは、viewModel です。Alamofire または他のライブラリを使用して、ネットワーク経由でデータを要求したいと考えています。応答を受け取ったら、関連するセルのテキストを更新するにはどうすればよいですか?

つまり、viewModel を Cells にバインドしたいのです。モデルのデータが変更されると、セルの内容が自動的に変更される可能性があります。

私は次のような考えを持っています: セルのコンテンツの Observable シーケンスを作成します (セルにバインドします)。サーバーがデータを応答するとき、 function を呼び出しますtableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)。しかし、これは恵みや良い方法ではないようです。

だから、誰かが私を助けてくれることを願っています:)

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

ios - RXSwift 戻り値を持つデリゲート メソッドのラッパーを作成する方法

RXSwift にデリゲートのラッパーがあります

そして、彼らは次のように見えます

しかし、戻り値を持つデリゲートがあります

このデリゲートのラッパーを実装するにはどうすればよいですか?

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

ios - 最初の RxSwift の例は、「引数リストで 'combineLatest' を呼び出せません ...」で失敗します。

RxSwift について頭を悩ませようとしていますが、彼らが提供する最初の例はビルドに失敗します。

https://github.com/ReactiveX/RxSwift/blob/master/Documentation/Examples.mdから RxSwift コードを実行しようとしています

しかし、それはエラーで失敗します:

Cannot invoke 'combineLatest' with an argument list of type '(Variable<Int>, Variable<Int>, (_, _) throws -> _)'

これはサンプル コードのエラーですか、それとも何か不足していますか?


再現するために行った手順:

  1. 新しい iOS シングル ビュー アプリケーションを作成し、保存して閉じます。

  2. 以下を含む Podfile をプロジェクト ルートに作成します。

  1. 走るpod install

  2. xcworkspace ファイルを開く

  3. サンプル コードを ViewController の viewDidLoad 関数に挿入します。

  1. 建てる。Xcode は、RxSwift を読み込めないと文句を言うかもしれません。Xcode を再起動 -> 問題が解決しました。

  2. 建てる。Xcode は、ビットコードについて何か文句を言うかもしれません。プロジェクト設定のどこでもビットコードを無効にします->問題は解決しました。

  3. 建てる。Xcode は、combineLatest について不平を言います:Cannot invoke 'combineLatest' ...


Xcode バージョン: 7.2

ポッドのバージョン: 0.39.0

RxSwift バージョン: 2.1.0


編集: 他の例も次のようなさまざまなエラーで失敗するようです:

引数なしで「concat」を呼び出すことはできません

これはおそらく、私のプロジェクト構成に何かが欠けているか、RxSwift が劇的に変更され、変更に合わせて初心者の例を更新する時間がなかったことを意味します。いずれにせよ、RxSwift の最初の 1 時間はかなりイライラするものでした。

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

swift - RxSwift: 要件が満たされている場合にのみ Observable を圧縮する

namesurnameageavatarImageなどのフィールドを編集できるユーザー プロファイルを想像してみてください。ユーザーが をクリックするSaveと、変更された値ごとにリクエストが送信されます。

次のようなシグネチャを持つ関数を考えてみてください。

通常、zipこれらのリクエストは次のようになります。

変更された値のリクエストのみを実行したい場合はどうすればよいですか?

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

swift - RxSwift 繰り返しアクション

RAC から切り替えており、ネットワーク リクエストを繰り返して、リクエストの API に応じて異なる結果タイプを返したいと考えています。

間隔を使用したいのですが、戻り値の型を一致させる方法がわかりません。

Observerable.interval を Int 型で呼び出す必要がありますが、Observable を返します。どうすればいいですか?

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

swift - RxSwift: 複数のアクションの連鎖

AnObject インスタンスの配列があり、次の一連のアクションを実行する必要があるとします。

  • 個別の呼び出しでオブジェクトをバックエンドに送信する
  • ステップ1が終了したら、この配列をDBにバッチで保存します
  • ステップ 2 が終了したら、各アイテムの追加処理を行います

そして、これらすべてのステップが実行された後 (またはエラーが発生した後) にのみシグナルを受信したいと考えています。RxSwiftを介してこれを達成する正しい方法は何ですか?それは実際に可能ですか?

以下のプロトタイプ関数を見つけてください。残念ながら、連鎖のための有効なコード サンプルが思いつかなかったので、デモするものは何もありません。