【发布时间】:2021-02-26 15:42:30
【问题描述】:
我正在研究一个处理 JSON 解析的小型结构。到目前为止,一切正常,除了我想将自定义结构作为结构传递给JSONDecoder().decode(type.self, from: data) 中的解码时使用,但这会引发以下错误:
无法将类型“Codable”(又名“Decodable & Encodable”)的值转换为预期的参数类型“T.Type”
private func parseJson(data: Data, type: Codable) -> Codable? {
do {
let decoded = try JSONDecoder().decode(type.self, from: data)
return decoded
} catch {
print("JSON decode error: \(error.localizedDescription)")
}
return nil
}
有没有一种方法可以将结构传递给此方法以用作decode() 函数的类型?如果我直接在 decode() 函数上设置我试图传递给函数的类型,代码会按预期工作,它只会在我尝试传递它时出错。
【问题讨论】:
标签: json swift xcode generics swift5