如何从api响应结果中避免“可选”? [重复]

问题描述 投票:0回答:2

这个问题在这里已有答案:

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

我想进入标签:

Name: Simi

但我的代码是一个可选的名字“simi”

json swift api post optional
2个回答
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 ?? "-")"

0
投票

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

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)"
}
© www.soinside.com 2019 - 2024. All rights reserved.