問題タブ [reactive-cocoa-3]

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 に答える
753 参照

ios - Core Data で ReactiveCocoa 3 および 4 を使用する

私は ReactiveCocoa を初めて使用NSManagedObjectし、Swift 2 プロジェクトの一部で KVO の代わりとして使用したいと考えています。

私がオンラインで見つけた例のほとんどは、RACObserve()RAC 3 で削除 (?) された を使用しています。変更ログには、新しいバージョンでは KVO が強調されていないため、s に移行する必要があると記載されてPropertyTypeます。

Reactive Cocoa 3 および 4 を既存のNSManagedObjectで実行できるのと同様の方法で使用できる方法はありますRACObserve()か?

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

ios - ReactiveCocoa で繰り返される http リクエストを避ける

基本的にそれが行うことは、NSRULSessionを使用して構成を要求することです。subscribeNext を実行すると、リクエストは完全に正常に処理されますが、2 回目はこのリクエストは必要ありません。どうすれば回避できますか?

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

ios - Signal を SignalProducer に変換する方法

SignalProducer残念ながら、いくつかの RAC ピースはs を提供しませんが、 Signals のようなActionフィールドvaluesは ですSignal。しかし、私のロジックでは、SignalProducer.

Signalに変換するにはどうすればよいSignalProducerですか?

toSignalProducer(toRACSignal(x))良い解決策ではないようです

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

swift - シグナルを監視し、「次の」イベントがすでに発生している場合にすぐに受信するにはどうすればよいですか?

ネットワーク リクエストの後にオブジェクトを初期化する API 呼び出しをラップしようとしています。新しいオブザーバーごとにネットワーク要求が発生することを望まないので、私が理解しているように、SignalProducer. ただし、単一Signalの を使用すると、最初の使用のみがnextイベントを受け取り、新しいサブスクライバーは現在の値を受け取ることはありません。これをどのように行う必要がありますか?私はおそらく、RAC で根本的に間違ったことをしているのでしょう。

の使用を検討しMutablePropertyましたが、これには意味がないように見えるデフォルト プロパティが必要なようです。

これについて実際にどうすればよいですか?

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

reactive-cocoa - ReactiveCocoa オブジェクトを保存されたプロパティとローカル変数として宣言/インスタンス化する必要があるのはいつですか?

( ReactiveCocoa4 または多分 3 に適用)

私が見たほとんどの例とケースでは、またはReactiveCocoaのようなオブジェクトは、ユーザー インターフェイスをデータに接続することに関与しており、コンストラクターで呼び出される何らかのメソッドまたは類似のメソッドで少なくともインスタンス化されています。MutableProperty<TVal, TErr>SignalProducer<TVal, TErr>setupBindings

オブジェクトの宣言をスコープから保存されたプロパティに、またはその逆に移動したときに、突然「機能した」コードが機能しないというケースをいくつか経験しました。たとえば、擬似コードでは次のようになります。

そのため、いくつかの基本的な質問があるようです。

与えられたReactiveCocoaオブジェクト...

  1. プロパティ (または) とローカル インスタンス変数として宣言する必要があるのはいつですか?letvar
  2. プロパティとインスタンスのストアド、計算、またはその他のバリアントとしてインスタンス化する必要があるのはいつですか
  3. いつ関数にする必要がありますreturnか?
0 投票する
1 に答える
757 参照

ios - RAC 4.0 SignalProducer を正しくチェーンするには?

次のようないくつかの異なる機能を持つビューモデルがあります。

ここで、これらの信号を順番に実行する必要があります。前の信号が完了する前に開始することはできません。したがって、次のような別の関数があります。

thenこの種の動作に使用する機能であるという印象を受けました。Signal3 は、Signal2 が完了するまで開始されるべきではなく、Signal1 が完了するまで開始されるべきではありません。

呼び出す関数には呼び出しsetupがありstart()ます。

これのどこが間違っているのですか?

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

reactive-cocoa - RAC3/4 でのコールド シグナルのマルチキャスト

2 つのコールド B と C が必要です。どちらもdb エンティティ オブジェクトを発行するSignalProducer他のコールド A に依存しています。そのため、まったく同じオブジェクトが B と C の両方に到達するようにマルチキャストすることが重要です。以下にいくつかのグラフを示します。SignalProducer

しかし、B と C にはいくつかの変換があり、かなりの量の作業が必要になる可能性があるため、それらが接続されるまで発生させたくありません。

RAC2 では、この場合は問題なく動作しました。[[RACSignal-publish]-autoconnect]

CHANGELOGが言うように、RAC2 からのマルチキャストは によりクリーンになりましstartWithSignalたが、1) すぐに開始され、2) 残りのチェーン全体でホット シグナルを使用するように促されます。

SignalProducer.buffer受け入れられる解決策のようです。

この場合の適切な解決策は何ですか?