0
信号を発しない:のViewControllerでRxSwift変数(動作対象が)私は、単純なビューモデル有する
struct ViewModel {
var someText = Variable<String>("")
func foo() -> Observable<String> {
return someText.asObservable()
}
}
をViewModelには、インスタンス変数であり、someTextFieldはIBOutletとのUITextFieldが正しく
var viewModel = ViewModel()
@IBOutlet weak var someTextField: UITextField!
に接続されています。
は、その後のViewControllerののviewDidLoad()で、私は物事を設定し、次の操作を行います
someTextField.rx.text.map { $0 ?? "" }.bind(to: viewModel.someText)
let disposeBag = DisposeBag()
let observable = viewMode.foo()
observable.subscribe(onNext: { data in
print(data)
}, onError: { error in
print(error)
}, onCompleted: {
print ("complete")
}, onDisposed: {
print("disposed")
}).disposed(by: disposeBag)
私はテキストフィールドに文字を入力するので、print()がこれらの文字を出力することを期待します。しかしprint()はデバッガで一度だけ呼び出されます(テキストフィールドが入力を受け取った後ではありません)
どうしたのですか?
あなたの答えは、100%正しいわけではありませんが、正しい答えを見つけることができます。 –
あなたは彼の答えについて何が間違っていたか教えていただけますか?あなたの解決策は何でしたか? –