gpt4 book ai didi

swift - 参数类型不符合 decodable

转载 作者:行者123 更新时间:2023-11-28 13:40:27 24 4
gpt4 key购买 nike

不确定在哪里做什么;我相信我的类型符合 decodable!

let dm = DataManager(networkManagers: [mockHTTPManager])
let ep = Endpoint(scheme: .http, host: "api.nytimes.com",path: "/search/repositories")


dm.object(from: ep, with: DisplayContent.self) {result in
print (result)
}

其中 DisplayContent 是一个结构

struct DisplayContent:Decodable {
var title: String?
var abstract: String?
var thumbnailImageString: String?
var date: String?
var image: String?
}

我正在尝试创建一种方法来将数据一般地转换为对象,但我认为这里只有签名是相关的

func object<T : Decodable>(from endpoint: Endpoint, with object: T, completion: @escaping (Result<T, Error>) -> Void) {
let error = NSError(domain:"", code:-1009, userInfo:[ NSLocalizedDescriptionKey: "Internet Offline"]) as Error
let url = endpoint.url!
networkManagers.first!.get(url: url) { result in
switch result {
case .failure: print ("failure")
case .success(let success) :
do {
let decoder = JSONDecoder()
let content = try decoder.decode(T.self, from: success)
print ("content")
} catch {

}
}
}
}

错误是“参数类型‘DisplayContent.Type’不符合预期类型‘Decodable’”但 DisplayContent 符合 decodatble!

最佳答案

您的函数需要一个类型为 T 的对象(with object: T),但您正试图传递一个类型( >DisplayContent.self).

您可以:

  1. 传递正确类型的对象(例如 DisplayContent()),或者
  2. 告诉函数期望传递一个类型(例如 with object: T.type)。

关于swift - 参数类型不符合 decodable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56104806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com