Не уверен, что делать, где;Я считаю, что мой тип соответствует декодируемому!
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!