以下是我发出请求并将其绑定到 UI 元素的代码
func signUpService(_ signUpButtonTap: Observable<Void>, _ userAndPassword: Observable<(String, String)>) -> Observable<Response> {
return signUpButtonTap
.withLatestFrom(userAndPassword)
.flatMapLatest{
input -> Observable<Response> in
return Observable.create { observer in
let userData = Creator()
userData?.username = input.0
userData?.password = input.1
return provider.request(.signUp(userData!)).filter(statusCode: 201).subscribe{ event -> Void in
switch event {
case .next(let response):
observer.onNext(response)
print("Success response", response)
case .error(let error):
let moyaError: MoyaError? = error as? MoyaError
let response: Response? = moyaError?.response
let statusCode: Int? = response?.statusCode
print("Error response", response?.statusCode)
observer.onError(AuthenticationError.server)
default:
break
}
}
}
}.observeOn(MainScheduler.instance)
}
在我看来,我正在做以下事情
self.viewModel.signedUp?.bind{response in
self.displayPopUpForSuccessfulLogin()
}.addDisposableTo(disposeBag)
}
每当我点击错误块时,应用程序就会崩溃。它说绑定错误。我无法将错误绑定到 UI 元素。
Rxswift 绑定中的错误是如何处理的。如果我从服务器收到 nil 响应,我该如何处理。
任何帮助将不胜感激 。谢谢