【发布时间】:2019-03-21 11:19:47
【问题描述】:
通过此代码获取带有名称的“可选”...
我想进入标签为:
Name: Simi
但我的代码是可选的,名称为“simi”
【问题讨论】:
-
可选和展开是 Swift 中的基本内容。我建议你阅读一下。另外,复制/粘贴代码,不仅仅是截图。
标签: json swift api post optional
通过此代码获取带有名称的“可选”...
我想进入标签为:
Name: Simi
但我的代码是可选的,名称为“simi”
【问题讨论】:
标签: json swift api post optional
在您的示例中,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 ?? "-")"
【讨论】:
尝试使用 (guard let) 或 (if 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)"
}
【讨论】: