开发者社区> 问答> 正文

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

我想知道,如果我将数据从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 426 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
问答地址:
问答排行榜
最热
最新

相关电子书

更多
重新定义计算的边界 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载