我正在学习MVVM和RxSwift,我想从UI绑定所有对象。我尝试创建一个viewModel,但是编译器弹出一个错误,我创建的视图模型错误吗?这是我要绑定的代码和UI。
无法在属性初始化程序中使用实例成员'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()
}
您需要在view did加载方法内部构造BasicInfoViewModel并从视图传递输入。