我尝试在枚举中传递一个类型来存储它,并在此类数据到达时对其进行解码。 我将问题传递给解码器时遇到了问题。
enum RetrieveInfoPolicy {
case decoding(Decodable.Type)
case no
}
struct Foo: Codable {
let str: String
}
let policy = RetrieveInfoPolicy.decoding(Foo.self)
let decoder = JSONDecoder()
let dataTest = "ldghglhezlkhgzeklh".data(using: .utf8)!
switch policy {
case .no:
break
case .decoding(let decodableType):
do {
let decoded = try decoder.decode(decodableType, from: dataTest)
} catch {
print("error : \(error)")
}
break
}
我得到的错误是:
无法使用类型为'((Decodable.Type)的参数列表调用'decode',来自:Data)'
你能帮我解决这个问题吗? 谢谢!