別のView Controllerから設定されたブール変数headerCollapsedについて知る必要があるView Controllerがあります。vc1 には次のものがあります。
headerCollapsed = ReplaySubject<Bool>.create(bufferSize: 1)
collapsedObservable = headerCollapsed.asObservable()
ブール値を true に設定する関数:
func updateHeader() {
self.headerCollapsed.onNext(true)
}
次に、依存関係をさらに作成して vc1 を直接呼び出すことを避けるために、依存関係の挿入とルーターを介して、headerCollapsed ではなく、collapsedObservable を vc2 に渡そうとしています。問題を単純化しようとしていますが、実際には vc1 と vc2 の間にいくつかのレイヤーがあります。
ただし、ルータークラスの中でcollapsedObservableが何があってもnilであり、後でvc2内から呼び出すときにデフォルト値に設定して更新することができません。では、このように実際のオブザーバブルを渡すことは可能ですか?