Проверьте, пусто ли поле UITextField в MVVM Swift с помощью бокса

#swift #mvvm

Вопрос:

Я хочу проверить, пусто ли мое поле UITextField, чтобы я мог показать сообщение об ошибке и передать имя пользователя другому контроллеру. Но данные не передаются, когда я ввожу имя пользователя, вместо этого они отображаются на контроллере оповещения. Я новичок в MVVM, поэтому не понимаю, как написать логику в ViewModel.

Это моя модель просмотра

 protocol ViewModelType {  associatedtype Input  associatedtype Output    func transform(input: Input) -gt; Output }  class SearchViewModel: ViewModelType {    struct Input {  var searchUsername: Binderlt;Stringgt;  }    struct Output {  var errorMessage: Binderlt;Stringgt;  var username: Binderlt;Stringgt;  }    func transform(input: Input) -gt; Output {  let username = input.searchUsername.value    var errorMessage = input.searchUsername.value    if errorMessage.isEmpty {  errorMessage = "Please enter a username. We need to know who to look for"  }    return Output(errorMessage: Binderlt;Stringgt;(errorMessage), username: Binderlt;Stringgt;(username))  } }  

Это моя модель представления в SearchController

 var viewModel = SearchViewModel()  @IBAction func searchTapped(_ sender: UIButton) {  let input = SearchViewModel.Input(searchUsername: Binderlt;Stringgt;(searchTextField.text ?? ""))    let output = viewModel.transform(input: input)    output.errorMessage.bind { message in  let ac = UIAlertController(title: "Error", message: message, preferredStyle: .alert)  ac.addAction(UIAlertAction(title: "Dismiss", style: .default, handler: nil))  self.present(ac, animated: true)  }    output.username.bind { username in  let followerListVC: FollowersListViewController = FollowersListViewController.loadFromStoryboard()  followerListVC.username = username  self.navigationController?.pushViewController(followerListVC, animated: true)  }  }