小编olv*_*rwn的帖子

类型不能符合 Decodable 但实际上是

我有一个名为 ObjectAPIModel 的类型,它明确符合 Codable 协议。我还有一个函数,它接收一些数据并调用另一个函数将任何 JSON 解码为指定类型。但是如果我调用decodeJSON(),它会显示一个错误,指出ObjectAPIModel 不符合Decodable。有人可以帮忙吗?

struct ObjectAPIModel: Codable {
    
    let objectID: Int
    var primaryImage: String
    var title: String
    var department: String
}
Run Code Online (Sandbox Code Playgroud)
func decodeJSON<T: Decodable>(data: Data, ofType: T) -> Result<T, APIError> {
        
    let decodedObject = try? JSONDecoder().decode(T.self, from: data)
    if decodedObject == nil {
        return .failure(APIError.emptyResponse)
    } else {
        return .success(decodedObject!)
    }
}
Run Code Online (Sandbox Code Playgroud)
let result = decodeJSON(data: unwrappedData, ofType: ObjectAPIModel)
Run Code Online (Sandbox Code Playgroud)

我收到错误:“类型‘ObjectAPIModel.Type’不能符合‘Decodable’”

swift swift-protocols codable decodable

2
推荐指数
1
解决办法
721
查看次数

标签 统计

codable ×1

decodable ×1

swift ×1

swift-protocols ×1