структура viewModel для RxSwift - PullRequest
1 голос
/ 17 марта 2020

Я изучаю MVVM и RxSwift и хочу связать все объекты из пользовательского интерфейса. Я пытаюсь создать viewModel, но компилятор выдает ошибку, я неправильно создал модель представления? это мой код и пользовательский интерфейс, который я хочу связать.

setting

Невозможно использовать элемент экземпляра BasicInfoViewModel в инициализаторе свойства; инициализаторы свойств запускаются до того, как станет доступным 'self'

    struct BasicInfoViewModel {

    let infos = PublishSubject<InfoResult>()

    let selectedImage: Observable<UIImage>
    let fullname: Observable<String>
    let phoneNumber: Observable<String>
    let email: Observable<String>
    let placeOfBirth: Observable<String>
    let dateOfBirth: Observable<String>
    let religion: Observable<String>

    var isValid: Observable<Bool> {
        return Observable.combineLatest(fullname.asObservable(), phoneNumber.asObservable(), email.asObservable(), placeOfBirth.asObservable(), dateOfBirth.asObservable(), religion.asObservable()).map { $0.0.count > 0 }
    }
}

    class BasicInfoViewController: UITableViewController {

        var viewModel = BasicInfoViewModel()
    }

1 Ответ

0 голосов
/ 17 марта 2020

Вам необходимо создать свой BasicInfoViewModel внутри метода, который загрузил представление, и передать входные данные из представлений.

...