swift - 快速包装时意外发现 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)
}
}
}
解决方案
在is always的.success
情况下error
,展开可靠地崩溃。result
nil
response.result.error!
我假设andError
参数是可选类型,所以写
self.prepareResponseObject(success: response.result.isSuccess, withData: value as Any, andError: nil)
推荐阅读
- shell - 从控制台输出中找到特定字符串后,有没有办法在 jenkins 中运行 shell 脚本?
- reactjs - React-native youtube-iframe 不显示视频
- mysql - 如何根据字段值对行进行分组?也许是一个 RANK() 案例?
- groovy - 遍历 Groovy 中的每个 XML 员工记录
- javascript - 用 PHP 提交表单
- angular - 我不能使用带有角度通用的文档注入
- javascript - 无法读取 DOG API 的 null 属性“addEventListener”
- react-native - 如何在本机反应中在一个屏幕上获得两组独立的选项卡
- ruby-on-rails - 在 macOS Big Sur 11.2.3 上安装 ruby、rails 和 postgresql 时安装 xcode 的问题
- c# - 将 2 字节值转换为顶点值