問題タブ [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.
swift - RxSwift を使用した単純な観察可能な構造体?
私は Swift で単純な観察可能なオブジェクトを考え出そうとしていますが、 RxSwiftを使用すると考えられています。次のようなことを行う簡単な例が見つかりませんでした。
上記は、このブログ投稿からのオブザーバブルに対する純粋な Swift ソリューションです。侵襲的ではなく、プロトコルベースのソリューションであることが本当に気に入っています。私の場合、プロジェクトにオブジェクトがあり、各プロパティが内部で非同期に設定されています (Bluetooth デバイス)。したがって、プロパティをリアルタイムで取得/設定するのではなく、変更を監視/サブスクライブする必要があります。
RxSwift がまさにそれ以上のことを行うと聞いています。ただし、上記に一致する簡単な例が見つからず、RxSwift は私のニーズに対してやり過ぎだと思い始めていますか? 助けてくれてありがとう。
ios - ローカルおよびプッシュ通知用の Rx_Swift
ローカル通知とプッシュ通知を受信したときにオブザーバブルを実装するにはどうすればよいですか。アプリデリゲートでは、私たちは通知しています
と
これらの通知を他の画面で聞くにはどうすればよいですか? 通知に NotificationCenter を使用していましたが、RX-Swift を使用したいと考えています。私はこの方法で試しましたが、うまくいきません。
誰でも私を助けることができますか?
更新しました:
こんにちは、私はあなたが慣れているのと同じ方法を使用してその解決策を見つけましたが、いくつかの変更があります.
AppDelegate から通知を送信します。
次に、他のクラスを観察します。
このクラスの最も良い点は、anyObject を介して発行および消費できることです。
ios - Rx プログラミング (Moya) を使用して JSON 応答をオブジェクトにマッピングする
私は現在 Rx プログラミングを学ぼうとしています。私は Moya に興味をそそられ、単純なネットワーク リクエストを実装しようとしてきました。このリクエストは、tableView を作成するために使用できるオブジェクトにマップされます。
私はこのチュートリアルに従っています: http://www.thedroidsonroids.com/blog/ios/rxswift-examples-3-networking/
.debug
次の出力を使用して取得しているため、成功した応答が得られていると思います。
私が使用しているコードは次のとおりです。
そして、ここに私がマップしようとしているオブジェクトがあります:
私はネットワークの応答を見て、最初に「列車」データを抽象化する必要があるかどうか疑問に思っています。運が悪かったので、次のオブジェクトにマッピングしてこれを試しました:
json 応答の例は、http: //pastebin.com/Wvx8d5Lgで確認してください。
そのため、応答をオブジェクトに変換できない理由を誰かが理解するのを手伝ってくれるかどうか疑問に思っていました。ありがとう。
=======
ポッドの更新を試みましたが、まだ機能していません。これが私がtableViewにバインドしている場所です:
bind to (セルを設定した場所) 内のコードは呼び出されません。また、Train マッパー クラス内にブレーク ポイントを配置すると、これも呼び出されません。
ios - RXSwift - 次のイベントの前にキャンセルする takeUntil
こちらの質問 39 と同様の例に従ってください: http://reactivex.io/learnrx/
search(query: String)
メソッド呼び出しを一連の呼び出しに変換しようとしています。私がこれを達成する方法は、メソッドが呼び出されるたびVariable
に値で更新する を作成することです。query
search(query: String)
それから私は私の中にこれを持っていますinit()
:
と入力する"ABC"
と、メソッドが, , でsearch(query: String)
3 回呼び出されます。それはwithにマッピングされます。次に、それを Facebook 検索 (Facebook で名前で人を検索する) にマッピングしています。そして、私は名前を印刷します。を使用しない場合、期待どおりに動作し、クエリ ( 、、 )ごとに 1 つずつ、3 セットの結果が得られます。"A"
"AB"
"ABC"
seq(["A", "AB", "ABC"])
queryVariable.asObservable()
subscribeNext
takeUntil
"A"
"AB"
"ABC"
しかし、(Facebook が要求に応答する前に) すばやく入力すると、 query に対して 1 つの結果のみが必要になります"ABC"
。を追加したのはそのためtakeUntil
です。facebookSearch(query: String)
それを使用すると、次の呼び出しが行われたときに呼び出しが無視されると予想query
されますが、現在のクエリではキャンセルされているため、takeUntil
何も出力されません。
これは既知の問題ですか、それとも何か間違っていますか?
swift - RxCocoa 呼び出しでの追加の引数
UITableView にデータを添付しようとしています。ここでプロジェクト フォームをダウンロードし、データが tableView に添付されているコードを使用しています: http://yannickloriot.com/2016/01/make-uitableview-reactive-with-rxswift/ :
まず、次の変数を作成しました。
次に、次のことを試みます。
しかし、次の警告が表示されます: 'Extra argument in call' on the line .bindTo
. 新しいセルを追加しようとしましたが、同じ結果が得られました。関係あるかわかりませんが、セル登録しました。
引数の型が一致しない場合にこの警告が表示される可能性があることをここで読みました: Swift - Extra Argument in call。ただし、引数はうまく一致しているようです。
私は Rx を初めて使用するので、誰かがここで何がうまくいかないのかを理解するのを手伝ってくれることを願っていました. ありがとう。
======
編集
これが私の新しいコードです。rx_itemsWithCellIdentifier("ChoiceCell")
私は一人で試しましたrx_itemsWithCellIdentifier("ChoiceCell", cellType: ChoiceCell.self)
:
私が利用した場所(タクシー)は、タクシーアイテムの配列です。下の図を参照してください。
また、.asObservable() を呼び出すと、次のようになります。
行を削除して、これらを印刷することができました.bindTo
。その行を追加すると、以前と同じエラーが発生します。
重要: 以前にリンクした記事のコード ベースをいじってみました。ChoiceCell から削除すると、同じエラーを再現できます。
ios - RxSwift: shareReplay を使用してサブスクリプションを遅延取得する方法
そのため、誰もサブスクライブしていない場合でも共有データを永続化せずに、遅延サブスクライブできるようにしたいと考えています。その後、誰かが再びサブスクライブすると、新しいオブザーバブルが作成されます。私は変数を使用しますが、誰もサブスクライブしていない場合は永続化したくありません (配列または int より大きいものを使用している場合、それらをメモリに保持したくないため)。私の現在の実装は機能しますが、再サブスクライブする場合を除き、最後の値を取得します。つまり、値は引き続き保持されます。オブザーバブルをnilに設定することを考えていますが、どこでそれを行うべきかわかりません。誰でもこれを完了するのを手伝ってもらえますか? 以下のコードは、ほとんどが機能していることを示していますが、誰も購読していないときにデータが残っているようです.