Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift [结果]:失败(Alamofire.AFError.explicitlyCancelled)_Swift_Networking_Alamofire - Fatal编程技术网

Swift [结果]:失败(Alamofire.AFError.explicitlyCancelled)

Swift [结果]:失败(Alamofire.AFError.explicitlyCancelled),swift,networking,alamofire,Swift,Networking,Alamofire,我正在和阿拉莫菲尔通信。 执行登录部分时不会发生错误,但此错误发生在注册部分,但应用程序不会关闭。 如何做到:( 类DarnerAPIClient{ 静态let shared=DarnerAPIClient() func networkingResult(来自api:DarnerAPI)->可观察{ 返回Observable.create{obs in let request=AF.request(URL(字符串:api.baseURL+api.path)!, 方法:api.method!, 参

我正在和阿拉莫菲尔通信。 执行登录部分时不会发生错误,但此错误发生在注册部分,但应用程序不会关闭。 如何做到:(

类DarnerAPIClient{
静态let shared=DarnerAPIClient()
func networkingResult(来自api:DarnerAPI)->可观察{
返回Observable.create{obs in
let request=AF.request(URL(字符串:api.baseURL+api.path)!,
方法:api.method!,
参数:api.parameter,
编码:api.encoding,
headers:api.header).responseData{response in
调试打印(响应)
开关响应。结果{
案例.成功(让数据):
做{
让DataUse:T=尝试JSONDecoder().decode(T.self,from:data)
返回obs.onNext(数据使用)
}捕捉(让错误){
返回obs.onError(错误)
}
案例。失败(let错误):
返回obs.onError(错误)
}
}
归还一次性物品。创建{
请求取消()
}
}
}
}
自我回答: 在我的网络代码中
我不愿意
:(

我也有同样的问题,花了一段时间才弄明白

起初,它是这样的,它不起作用

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let disposeBag = DisposeBag()

         repository
            .forgotPassword(email: "myemail@gmail.com")
            .observe(on: MainScheduler.instance)
            .subscribe(onSuccess: { (res) in
                print(res)
            }, onFailure: { (error) in
                print(error)
            }).disposed(by: disposeBag)
    }

}
然后我把它改成这个,它开始工作了

class ViewController: UIViewController {

    let disposeBag = DisposeBag()

    override func viewDidLoad() {
        super.viewDidLoad()
       
         repository
            .forgotPassword(email: "myemail@gmail.com")
            .observe(on: MainScheduler.instance)
            .subscribe(onSuccess: { (res) in
                print(res)
            }, onFailure: { (error) in
                print(error)
            }).disposed(by: disposeBag)
    }

}
class ViewController: UIViewController {

    let disposeBag = DisposeBag()

    override func viewDidLoad() {
        super.viewDidLoad()
       
         repository
            .forgotPassword(email: "myemail@gmail.com")
            .observe(on: MainScheduler.instance)
            .subscribe(onSuccess: { (res) in
                print(res)
            }, onFailure: { (error) in
                print(error)
            }).disposed(by: disposeBag)
    }

}