Переменная никогда не изменялась... или константа использовалась перед инициализацией.IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Переменная никогда не изменялась... или константа использовалась перед инициализацией.

Сообщение Anonymous »

Я хочу получить данные 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»