1

Тема: swift 5 як отримати дані з URLSession

доброго дня всім, свіфт почав вивчати недавно, тому прошу дуже не пинайте, так вот я пробую зробити програму для сайта новин, я парсю інформацію через апі, все працює чудово, тільки питання як мені отримати готовий масив з цего цикла, дуже вдячний за відповіді

guard let url = URL(string: "http://") else {return}
    let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
    guard let dataResponse = data,
              error == nil else {
              print(error?.localizedDescription ?? "Response Error")
              return }
        do{
            //here dataResponse received from a network request
            let jsonResponse = try JSONSerialization.jsonObject(with:
                                   dataResponse, options: [])
           // print(jsonResponse) //Response result
            guard let jsonArray = jsonResponse as? [[String: Any]] else {
                  return
            }
          // print(jsonArray)
            //Now get title value
            guard let href = jsonArray[0]["href"] as? String else { return };
            guard let site = jsonArray[0]["site"] as? String else { return };
           // guard let title = jsonArray[0]["tittle"] as? String? else { return };
            guard let time = jsonArray[0]["time"] as? String else { return };
            //print(href)
           // print(site)
            //print(title)
           // print(time)//compiler outout -  delectus aut autem
            struct News{
               var href: String

               var site: String

                var time: String

            }

            self.news = News(href: href, site: site, time:time)


         } catch let parsingError {
            print("Error", parsingError)
       }

    }
    task.resume()
}

2 Востаннє редагувалося koala (30.11.2019 08:49:16)

Re: swift 5 як отримати дані з URLSession

0. Вітаю на форумі
1. Додайте теги code (кнопка <>) і приберіть закоментовані рядки, вони заважають читати код
2. Я не знаю swift, але 2 хвилини гуглення дають

self.news = [] //десь за межами циклу
...
self.news.append(News(href: href, site: site, time:time))