首页 > 解决方案 > 快速包装时意外发现 nil

问题描述

我收到这个错误

致命错误:在展开可选值时意外发现 nil

这是我得到错误的代码。

if (method == .POST) {
            Alamofire.request(uri, method: .post, parameters: params, encoding: JSONEncoding.default).responseJSON { response in

                    switch response.result
                    {
                    case .success(let value):
//                        let json = JSON(value)

                         let SDNetworkResponseValue =
                            self.prepareResponseObject(success: response.result.isSuccess, withData: value as Any, andError: ((response.result.error! as NSError)))
                        completionHandler(SDNetworkResponseValue)

                    case .failure(let error):
                        let SDNetworkResponseValue = self.prepareResponseObject(success: response.result.isSuccess, withData: response.result.value as Any , andError: (error as NSError))
                        completionHandler(SDNetworkResponseValue)


                }
            }
        }

标签: swiftalamofire

解决方案


在is always的.success情况下error,展开可靠地崩溃。resultnilresponse.result.error!

我假设andError参数是可选类型,所以写

self.prepareResponseObject(success: response.result.isSuccess, withData: value as Any, andError: nil)

推荐阅读