День добрый.
Есть метод типа:
static func fetch(url: String, completion: @escaping (Result<[Supplier], Error>) -> Void) {
guard let url = URL(string: url) else { return }
var urlRequest = URLRequest(url: url)
urlRequest.httpMethod = "GET"
self.setToken(urlRequest: &urlRequest, token: "6dc3d1de41126000d08a7ec4283e16d2ca13a203")
URLSession.shared.dataTask(with: urlRequest) { (data, response, error) in
DispatchQueue.main.async {
if let error = error {
completion(.failure(error))
return
}
guard let data = data else { return }
do {
let suppliers = try JSONDecoder().decode([Supplier].self, from: data)
completion(.success(suppliers))
} catch {
completion(.failure(error))
}
}
}.resume()
}
Хочу сделать его универсальным. Т.е. параметром передать какой конкретно массив страктов надо вернуть.
Типа того:
static func fetch(url: String, completion: @escaping (Result<[
structname], Error>) -> Void) {
...
let
resultSet = try JSONDecoder().decode([
structname].self, from: data)