前提・実現したいこと
タイトルの通りなのですがtextFieldで入力した値をModelのBehaviorSubjectとして観測できるところまではよかったのですがこれをPublishSubjectに渡してObservableに変換後ViewControllerから呼び出したいです。
最終的に入力している瞬間にlabelにも表示していきたいです。
発生している問題・エラーメッセージ
エラーは特に起きていないのですがPublishSubjectに値をもたせてViewControllerに流すことがないです。
該当のソースコード
ViewModel
swift
1 private let amountStream = BehaviorSubject<Int>(value:0) 2 private let withdrawalBalanceStream = PublishSubject<Int>() 3 4 init(){ 5 6 self.amountStream 7 .share(replay: 1, scope: .whileConnected) 8 .subscribe(onNext: { [weak self] amount in 9 self?.addAmount(amount: amount) 10 print(amount.hashValue) 11 }) 12 13 .disposed(by: bag) 14 self.withdrawalBalanceStream 15 .withLatestFrom(amountStream) 16 .subscribe() 17 .disposed(by: bag) 18 19 } 20 //ここのamountまでは入力するたびに値が入ってきています 21 func addAmount(amount: Int) { 22 self.withdrawalBalanceStream 23 .onNext((amount)) 24 } 25 26//Input 27 var amount: AnyObserver<Int>{ 28 return amountStream.asObserver() 29 } 30 31//Output 32 var withdrawalBalance: Observable<Int> { 33 return withdrawalBalanceStream.asObservable() 34 } 35
できたらDriverは一旦使わない方法でlabelにリアルタイムで表示させていきたいのですが厳しいのでしょうか?
Rxを始めたばかりで拙い説明ですがよろしくおねがいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。