如何避免API响应结果中出现“可选”?

时间:2019-03-21 11:19:48

标签: json swift api post optional

通过此代码获取名称为“可选”的

我想输入标签为:

Name: Simi

但是在我的代码中,可选的名称为“ simi”的
enter image description here

enter image description here

2 个答案:

答案 0 :(得分:4)

在您的示例中,name的类型为Optional<String>,因此您需要通过if let构造来摆脱可选性:

if let name = jsonDict?["name"] as? String {
    cell.pNameTxt.text = "Name: \(name)"
}

或使用??运算符并提供默认值

let name = jsonDict?["name"] as? String
cell.pNameTxt.text = "Name: \(name ?? "-")"

答案 1 :(得分:0)

尝试使用(保护让)或(如果让)可选的绑定方法:

guard let name = jsonDict?["name"] as? String else {return}
cell.pNameTxt.text = "name \(name)"

if let name = jsonDict?["name"] as? String {
    cell.pNameTxt.text = "Name: \(name)"
}