Swift 4 从结构中获取数据

Posted

技术标签:

【中文标题】Swift 4 从结构中获取数据【英文标题】:Swift 4 Get data from structure 【发布时间】:2018-07-17 17:59:37 【问题描述】:

我有结构(下面的代码),我把 JSON 值放在那里。如何从我的结构中获取 name: cafeimage:URL

例如:

名称:“咖啡馆”图片:“url_link” 名称:“bar”图片:“url_link” 名称:“sushi”图片:“url_link”

我的结构

struct Root: Codable 
    let  data: [InnerItem]

struct InnerItem:Codable 
    let  id: Int?
    let  image: String?
    let  name: String?

    private enum CodingKeys : String, CodingKey 
        case id = "id", image = "image", name = "name"
    

【问题讨论】:

仅供参考 - 如果键都与您的属性名称匹配,则无需定义 CodingKeys ... 并且——正如您在 previous question 中已经提到的——将结构成员声明为非可选的(没有问号)。 【参考方案1】:

你可以试试

do 
      let decoder = try JSONDecoder().decode(Root.self, from: response.data!)
      let innerCafe = decoder.data.first(where:  $0.name == "cafe" )   
  
  catch 
      print(error)
  

【讨论】:

以上是关于Swift 4 从结构中获取数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从fireBase推送通知swift 4中获取数据

NSSortDescriptor 从 Swift 4 的核心数据中获取密钥

如何在 swift 4 中使用 JSONDecoder 从嵌套 JSON 中获取数据?

iOS如何从解析Swift 4中获取行[关闭]

使用 Swift 从带有条件的 Firebase 数据库中获取数据

从推送通知 iOS Swift 4 中获取值