2016-08-05 3 views
1

Я заметил на RxSwift GitHub Login Example, что наблюдаемые передаются из ViewController в ViewModel при его инициализации:Где привязывать наблюдаемые в MVVM?

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», это может быть личное предпочтение, но я не вижу проблемы с ним. Так или иначе, эти материалы будут рассматриваться где-то. Таким образом, одна строка в init кажется довольно тонкой для контроллера вида в конце для меня.

Смежные вопросы