Ну и fetch data.
func fetchData<T: Decodable>(url: String, jsonData:
@escaping (_ profiles:T)->(), interfaceActions:
@escaping ()->()) {
guard let url = URL(string: url) else {return}
URLSession.shared.dataTask(with: url) { (data, _, _) in
guard let data = data else {return}
do {
let decoder = JSONDecoder()
decoder.keyDecodingStrategy = .convertFromSnakeCase
let profilesList = try decoder.decode(T.self, from: data)
jsonData(profilesList)
DispatchQueue.main.async {
interfaceActions()
}
} catch let error {
print("Decode ERROR: \(error)")
}
} .resume()
}