开发者社区> 问答> 正文

要快速访问泛型结构的可解码嵌套值是不可能的吗?

我想知道,如果我将数据从API解码为模型类的泛型类型,是否可以访问泛型类型的嵌套值。抱歉英语不好。

对于映射数据对象的快速类有数据类,这是一个泛型类型

struct GeneralResponse<T: Decodable>: Decodable {
    var code: String
    var dataResponse : T
}

dataResponse字段中映射的模型类。

struct Model: Decodable {
    var name: String
    var lname: String
}

将数据从API映射到对象(发送类型的模型)

var myStruct = try! JSONDecoder().decode(GeneralResponse<T>.self, from: jsonData)

在APIManager中调用方法

APIManager.callRequest(url: "someURL", type: Model.self)

在这种情况下,我想访问“name”或“lname”,但它不能。

展开
收起
游客5akardh5cojhg 2019-12-04 17:27:12 444 0
1 条回答
写回答
取消 提交回答
  • 你可以试以下..。

    do {
        let myStruct = try JSONDecoder().decode(GeneralResponse<Model>.self, from: jsonData)
        print(myStruct.dataResponse.name)
        print(myStruct.dataResponse.lname)
    
      } catch {
         print("error: \(error)")
      }
    
    2019-12-04 17:28:01
    赞同 展开评论 打赏
问答分类:
API
问答地址:
问答排行榜
最热
最新

相关电子书

更多
继承与功能组合 立即下载
重新定义计算的边界 立即下载
用计算和数据去改变整个世界 立即下载