2016-08-05 9 views
1

私は観測は、その初期化時のViewModelへのViewControllerから渡されることRxSwift GitHub Login Exampleに気づいた:MVVMでobservablesをバインドする場所は?

let viewModel = GithubSignupViewModel1(
      input: (
       username: usernameOutlet.rx_text.asObservable(), 
       password: passwordOutlet.rx_text.asObservable(), 
       repeatedPassword: repeatedPasswordOutlet.rx_text.asObservable(), 
       loginTaps: signupOutlet.rx_tap.asObservable() 
      ), 
      dependency: (
       API: GitHubDefaultAPI.sharedAPI, 
       validationService: GitHubDefaultValidationService.sharedValidationService, 
       wireframe: DefaultWireframe.sharedInstance 
      ) 
     ) 

が、これは反応性プログラミングでログインをタップして、テキストフィールドを結合するための正しい方法ですか?

この例を見る前に、私はViewModel onSignUpClick()に関数を作成し、その関数を実行するためにビューコントローラのバウンドクリックから関数を作成しました。その悪い形ですか?

は、すべてが、それは非常に脂肪init関数

答えて

1

にそれはあなたの以前のアプローチは、単に一つの文章から、悪いフォームしたかどうかを言うのは難しいです結果のinitを通過する場合のように思えます。ビューモデル関数はフィールド値にどのようにアクセスしましたか?どのようにView Controllerに結果を返しましたか?適切な応答を得るには、コードを参照する必要があります。

「脂肪init」は個人的な好みかもしれませんが、問題はありません。どちらかといえば、それらの入力はどこかで処理されるでしょう。だから、initの1行は、私の最後のビューコントローラーではかなりスリムに見えます。

関連する問題