Я хочу получить данные jsonMeals и использовать их вне этой функции.
Однако, независимо от того, где я размещаю свою переменную JSON, я получаю ошибку. Изменение его на let тоже работает, хотя и другое. Будем очень признательны за любую информацию!
Ошибка:
Перед инициализацией используется константа 'json' // Переменная ' json' никогда не менялся; рассмотрите возможность перехода на константу let
func getApiDetailData(completed: @escaping () -> ()) {
var json: Any?
let urlString = "https://www.themealdb.com/api/json/v1/1 ... hp?i=\(id)"
let url = URL(string: urlString)
URLSession.shared.dataTask(with: url!) { (data, response, error) in
do {
let json = try JSONSerialization.jsonObject(with: data!)
print("\(json)Testing")
DispatchQueue.main.async {
completed()
}
}
catch {
print("Error getting detail JSON data:\(error)")
}
guard let json = json as? [String : Any],
let jsonMeals = json["meals"] as? [String: Any] else {
print("No meals in json \(error?.localizedDescription)")
return
}
print("testing jsonMeals\(jsonMeals)")
}.resume()
}
Подробнее здесь: https://stackoverflow.com/questions/722 ... nitialized
Переменная никогда не изменялась... или константа использовалась перед инициализацией. ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как проверить, какая схема аутентификации использовалась для текущего запроса
Anonymous » » в форуме C# - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Опущность слоя ранее использовалась в качестве Oldlayer. Flutter Carousel_slider
Anonymous » » в форуме Android - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-