Здравствуйте, случилась такая проблема я не понимаю как мне достать данные из json так что бы я их мог использовать в любом месте.
сам код
import Foundation
enum ApiType { case getRocket var request: URLRequest { let url = URL(string: "https://api.spacexdata.com/v4/rockets/")! let request = URLRequest(url: url) return request } } class ApiManager{ static let shared = ApiManager() func getInfo(completion: @escaping (Rocket) -> Void){ let request = ApiType.getRocket.request let task = URLSession.shared.dataTask(with: request) { data, response, error in if let data = data, let rocket = try? JSONDecoder().decode(Rocket.self, from: data) { completion(rocket) }else{ completion([]) } } task.resume() } }
ViewController
import UIKit
class ViewController: UIViewController { @IBOutlet weak var test: UILabel! override func viewDidLoad() { super.viewDidLoad() var a = "1" ApiManager.shared.getInfo { RocketInf in self.test.text = RocketInf[0].company! a = RocketInf[0].company! print(a) // выводит SpaceX } print(a) // выводит 1 }
}
Когда я получаю данные через ApiManager.shared.getInfo то полученные данные я могу использовать только внутри скобок, а мне надо вынести ее в переменную что бы потом ввести на экран. Так же не получается сразу добавить в label
Подскажите как перезаписать полученные данные в переменную или сразу ввести на экран (например в label)?