【问题标题】:Extract values from dictionary to array in Swift在 Swift 中从字典中提取值到数组
【发布时间】:2021-03-04 10:32:19
【问题描述】:

我有一个 Swift 字典,格式如下:

(lldb) po dataMid
▿ 1 element
 ▿ 0 : 2 elements
  - key : "mids"
  ▿ value : 2 elements
   ▿ 0 : 2 elements
    ▿ 0 : 2 elements
     - key : checksum
     - value :dkskskdkdksksksnsnskd
    ▿ 1 : 2 elements
     - key : server_version
     - value : @(#) $version: 1.8.1 $date: Sep 8 2019 10:15:04
   ▿ 1 : 2 elements
    ▿ 0 : 2 elements
     - key : checksum
     - value : 02ekekekwkskslsld
    ▿ 1 : 2 elements
     - key : server_version
     - value : @(#) $version: 1.0.4 $date: Sep 5 2018 08:17:51

我想要的只是将带有键“server_version”的字符串提取到一个数组中以在 tableView 中显示它们

【问题讨论】:

  • if let mids = dataMid["mids"] as? [String: Any], let serverVersion = mids["server_version"] as? String { print("serverVersion: \(serverVersion)}?

标签: arrays swift dictionary


【解决方案1】:

您可以使用compactMap 函数从字典数组中提取值。

试试下面的代码

let dict : [String : AnyObject] = ["mids": dataMid as AnyObject]
    
if let arrValue = dict["mids"] as? [[String : Any]] {
            
    if let arrServerVersionValue = arrValue.compactMap({$0["server_version"]}) as? [String] {
       print("All Values of Server Version Key = \(arrServerVersionValue)")
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2022-12-17
    相关资源
    最近更新 更多