У меня есть функция закрытия, которая загружает и возвращает данные с веб-сервера. Следующий код напечатает значение, которое я хочу.
loadData1(onCompletion: { (json) in
print(json)
})
Моя проблема в том, что мне нужно установить напечатанное значение равным переменной, чтобы использовать ее вне функции. Я пробовал это:
let x = loadData1(onCompletion: { (json) in
return json
})
но я получаю предупреждение "Константа x" подразумевает наличие типа '()', что может быть неожиданно ", а значение x равно" () ". Для справки тип json: [[String: String]].
Edit:
В настоящее время есть это
var x = [[String: String]]()
override func viewDidLoad() {
super.viewDidLoad()
loadData1(onCompletion: { (json) in
self.x = json
})
print(x)
}
и печатается "[]".