問題タブ [combinelatest]
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 - Swift Combine の CombineLatest は、そのパブリッシャーの 1 つに対する更新に応答して起動しません
2 つのパブリッシャーを組み合わせて、マップ ビューの中心座標を決定しています。パブリッシャーは次の 2 つです。
- によって決定されたユーザの初期位置( が位置更新の送信を開始し
CLLocationManager
た後に報告される最初の位置)。CLLocationManager
- 「現在地の中心地図」ボタンがタップされた場合のユーザーの現在地。
コード内:
発行者$initialUserCoordinate
とcenterButtonTappedPublisher
の両方が更新を発行しています - 私はこれを確認しました。ただし、結合されたパブリッシャーcoordinatePublisher
は、「現在の場所の中心地図」ボタンがタップされた場合にのみ起動します。initialUserCoordinate
プロパティが最初に設定されたときに発生することはありません。
This question.receive(on: RunLoop.main)
の後に追加することを提案してPublishers.CombineLatest($initialUserCoordinate, centerButtonTappedPublisher)
いますが、これは私にとってはうまくいきません。
私は何を間違っていますか?