問題タブ [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.
ios - RxSwift を使用して UITableViewCell を更新するにはどうすればよいですか?
UITableView を作成してセルをレンダリングするデモの例を学びました。
私の意見でitems
は、viewModel です。Alamofire または他のライブラリを使用して、ネットワーク経由でデータを要求したいと考えています。応答を受け取ったら、関連するセルのテキストを更新するにはどうすればよいですか?
つまり、viewModel を Cells にバインドしたいのです。モデルのデータが変更されると、セルの内容が自動的に変更される可能性があります。
私は次のような考えを持っています: セルのコンテンツの Observable シーケンスを作成します (セルにバインドします)。サーバーがデータを応答するとき、 function を呼び出しますtableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)
。しかし、これは恵みや良い方法ではないようです。
だから、誰かが私を助けてくれることを願っています:)
ios - RXSwift 戻り値を持つデリゲート メソッドのラッパーを作成する方法
RXSwift にデリゲートのラッパーがあります
そして、彼らは次のように見えます
しかし、戻り値を持つデリゲートがあります
このデリゲートのラッパーを実装するにはどうすればよいですか?
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 -> _)'
これはサンプル コードのエラーですか、それとも何か不足していますか?
再現するために行った手順:
新しい iOS シングル ビュー アプリケーションを作成し、保存して閉じます。
以下を含む Podfile をプロジェクト ルートに作成します。
走る
pod install
xcworkspace ファイルを開く
サンプル コードを ViewController の viewDidLoad 関数に挿入します。
建てる。Xcode は、RxSwift を読み込めないと文句を言うかもしれません。Xcode を再起動 -> 問題が解決しました。
建てる。Xcode は、ビットコードについて何か文句を言うかもしれません。プロジェクト設定のどこでもビットコードを無効にします->問題は解決しました。
建てる。Xcode は、combineLatest について不平を言います:
Cannot invoke 'combineLatest' ...
Xcode バージョン: 7.2
ポッドのバージョン: 0.39.0
RxSwift バージョン: 2.1.0
編集: 他の例も次のようなさまざまなエラーで失敗するようです:
引数なしで「concat」を呼び出すことはできません
これはおそらく、私のプロジェクト構成に何かが欠けているか、RxSwift が劇的に変更され、変更に合わせて初心者の例を更新する時間がなかったことを意味します。いずれにせよ、RxSwift の最初の 1 時間はかなりイライラするものでした。
swift - RxSwift: 要件が満たされている場合にのみ Observable を圧縮する
name、surname、age、avatarImageなどのフィールドを編集できるユーザー プロファイルを想像してみてください。ユーザーが をクリックするSave
と、変更された値ごとにリクエストが送信されます。
次のようなシグネチャを持つ関数を考えてみてください。
通常、zip
これらのリクエストは次のようになります。
変更された値のリクエストのみを実行したい場合はどうすればよいですか?
swift - RxSwift 繰り返しアクション
RAC から切り替えており、ネットワーク リクエストを繰り返して、リクエストの API に応じて異なる結果タイプを返したいと考えています。
間隔を使用したいのですが、戻り値の型を一致させる方法がわかりません。
Observerable.interval を Int 型で呼び出す必要がありますが、Observable を返します。どうすればいいですか?
swift - RxSwift: 複数のアクションの連鎖
AnObject インスタンスの配列があり、次の一連のアクションを実行する必要があるとします。
- 個別の呼び出しでオブジェクトをバックエンドに送信する
- ステップ1が終了したら、この配列をDBにバッチで保存します
- ステップ 2 が終了したら、各アイテムの追加処理を行います
そして、これらすべてのステップが実行された後 (またはエラーが発生した後) にのみシグナルを受信したいと考えています。RxSwiftを介してこれを達成する正しい方法は何ですか?それは実際に可能ですか?
以下のプロトタイプ関数を見つけてください。残念ながら、連鎖のための有効なコード サンプルが思いつかなかったので、デモするものは何もありません。