RxSwift的结构viewModel

问题描述 投票:1回答:1

我正在学习MVVM和RxSwift,我想从UI绑定所有对象。我尝试创建一个viewModel,但是编译器弹出一个错误,我创建的视图模型错误吗?这是我要绑定的代码和UI。

setting

无法在属性初始化程序中使用实例成员'BasicInfoViewModel';属性初始化程序在“自我”可用之前运行

    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()
    }
ios swift mvvm rx-swift
1个回答
0
投票

您需要在view did加载方法内部构造BasicInfoViewModel并从视图传递输入。

© www.soinside.com 2019 - 2024. All rights reserved.