import UIKit import Foundation import PlaygroundSupport PlaygroundPage.current.needsIndefiniteExecution = true enum JSONError: String, Error { case NoData = "ERROR: no data" case ConversionFailed = "ERROR: conversion from JSON failed" } func getArticles() { print("loading...") let urlPath = "http://newsapi.org/v2/top-headlines?country=us&apiKey=3003083aef194c5596323ee23c4882f6" var urlString = urlPath.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) guard let url = URL(string: urlString!) else { print("failed here") return } let task = URLSession.shared.dataTask(with: url) { (data, response, error) in if error != nil { print("error 1") print(error!.localizedDescription) } guard let dataResponse = data else { print("no data") return } print("loading 000") print("data: \(dataResponse)") do { // let response = try JSONDecoder().decode(NewsResponse.self, from: dataResponse) } catch let jsonError { print("you have an error") } } task.resume() } getArticles()