Я пытаюсь создать свой собственный класс DecodeHelper.
Вот где я борюсь:
final class DecodeHelper {
static func myDecodeMethod<T>(data: Data, completion : (Result<T, ErrorResult>) -> Void) {
do {
let decoder = JSONDecoder()
let decodedData = try decoder.decode(Forecast.self, from: data)
completion(Result.success(decodedData))
} catch {
completion(Result.failure(.decoder(string: "Error while decoding json data")))
}
}
}
Этот метод будет вызываться в коммутаторе (только в случае успеха) после полученияданные из Backend.
Но я не знаю, как их кодировать в общем виде.Должен ли я передать ожидаемый тип в качестве параметра (Forecast.self здесь)?
Это не компилируется:
Cannot convert value of type 'Result<Forecast, _>' to expected argument type 'Result<_, ErrorResult>'
Любые советы приветствуются.