【问题标题】:get value from swift dictionary从 swift 字典中获取值
【发布时间】:2022-12-17 17:17:42
【问题描述】:
 let dict1 : [String:Any] = ["id":19,"userinfo": ["name":"janak",
                                                  "mobileN":999889,
                                                  "email": "jana4@gmail.com"]]

我如何从用户那里获取电子邮件价值? 我的代码是

let  cvc  = dict1["userinfo"]
print(cvc!)

【问题讨论】:

  • print(cvc!) 可以吗? cvc[String: Any]let cvc = dict1["userinfo"] as! [Strnig: Any]let email = cvc["email"] as! String也是如此。

标签: swift


【解决方案1】:

你需要告诉编译器你在查询userinfo时希望得到什么类型。由于预期可能会失败,因此您还需要解包可选的(在我的示例中为 ?)以及您在阅读 email 时期望得到的内容:

let email: String? = (dict1["userinfo"] as? [String:Any])?["email"] as? String

【讨论】:

  • 正确的.........
【解决方案2】:

您需要将键强制转换为特定类型,因为用户信息又是字典,我们需要对其进行强制转换。

if let userInfoData = dict1["userinfo"] as? [String: Any], let email = userInfoData["email"] as? String {
print("Email: (email)") }

【讨论】:

    【解决方案3】:

    您可以使用可选链接来访问电子邮件值:

    if let email = dict1["userinfo"]?["email"] as? String {
       print(email)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-16
      • 1970-01-01
      • 2014-11-02
      • 1970-01-01
      • 2016-08-26
      • 1970-01-01
      • 2018-11-13
      • 2016-05-09
      相关资源
      最近更新 更多