ios - 快速 if-else。当条件 == false 时,永远不会执行 else 块
问题描述
我正在尝试根据请求响应的字段之一执行特定的 segue。当“ accountRes.complete ==true ”代码正确执行时,但当它等于 false 时,永远不会执行 else 块。
AF.request(Endpoints.account, method: .get, headers: headers).response { response in debugPrint (response)
guard let data = response.data,
let accountRes = try? JSONDecoder().decode(AccountResponse.self, from: data) else {
return
}
debugPrint (accountRes)
if accountRes.complete == true {
self.performSegue (withIdentifier: "home_segue", sender: nil)
} else {
print ("Not complete")
/// Code
}
}
解决方案
如果到达if
表达式accountRes.complete
但未到达表达式,true
则else
肯定会执行范围。顺便说一句,如果是非可选的,那== true
就是多余的。accountRes.complete
如果 aDecodingError
发生,它不会被执行。添加一个do catch
块,从中删除问号try?
并打印范围内的error
实例catch
。
推荐阅读
- python - 覆盖numpy数组中的像素
- java - 从工作区中删除未使用的 java 类可以提高 Web 服务器的性能?
- terminal - ZSH 提示在超级终端上以百分号开头
- asp.net - 将反应客户端谷歌登录转移到 ASP.NET 服务器端
- r - 比较 R 中的答案和解决方案(即比较两个表格)
- java - 多线程Android应用中组件应该如何交互?
- tensorflow - 如何实现keras中提出的tree-lstm,树结构是如何构建的?
- c - 如何在while循环中检测用户输入是[ Control ] + [ D ]
- java - 如何制作一个包含另一个数组的随机元素对的二维数组?
- python - 如何使用此功能从列表中删除重复项?