【问题标题】:How do I avoid "Optional" from api response result? [duplicate]如何避免 api 响应结果中的“可选”? [复制]
【发布时间】:2019-03-21 11:19:47
【问题描述】:

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

我想进入标签为:

Name: Simi

但我的代码是可选的,名称为“simi”

【问题讨论】:

  • 可选和展开是 Swift 中的基本内容。我建议你阅读一下。另外,复制/粘贴代码,不仅仅是截图。

标签: json swift api post optional


【解决方案1】:

在您的示例中,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 ?? "-")"

【讨论】:

    【解决方案2】:

    尝试使用 (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)"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2018-08-20
      相关资源
      最近更新 更多