Я новичок в Swift, так что это может быть очень глупый вопрос:
У меня следующая ситуация, связанная с синтаксическим анализом очень простого json файла, все работает нормально, пока я не решу использовать данные за пределами закрытия:
import UIKit
import SwiftUI
var numerolokas : Int = 0
// Function to Get all the XXX´s ID´s
func getLokasIds(completion: @escaping ([Int]) -> Void ){
let headers = [
"Content-Type": "application/json",
"Authorization": "Bearer xxxxx"]
let Url = String(format: "http://xxxx")
let serviceUrl = URL(string: Url)
var request = URLRequest(url: serviceUrl!)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) -> Void in
if let data = data {
do {
let lokas_ids = try JSONDecoder().decode([Int].self, from: data)
completion(lokas_ids)
}
catch {
print(error)
}
}
}
.resume()
}
Затем в коде я вызываю функцию
getLokasIds {
(lokas_ids) in
numerolokas = lokas_ids.count
print(numerolokas)
}
Пока все хорошо, но если, например, я хотел бы использовать переменную numeroLokas за пределами этого закрытия он пуст, и я не понимаю, почему и как это можно сделать, чтобы он был доступен.