Невозможно получить данные из API Dark Sky.IOS

Программируем под IOS
Ответить
Anonymous
 Невозможно получить данные из API Dark Sky.

Сообщение Anonymous »

Я пытаюсь получить информацию о погоде ежечасно из API Dark Sky, но код перестает работать при if let data =hourly["data"] as? Строка [String : AnyObject] (проверяется печатью после каждой строки). Я хочу знать, что не так с моим кодом. Я думаю, что это может быть что-то с "данными", но я точно не знаю.
let Task2 = URLSession.shared.dataTask(with: urlRequestDark) { (data, response, error) in
if error == nil {
do {
let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as! [String : AnyObject]

if let hourly = json["hourly"] as? [String : AnyObject] {
if let data = hourly["data"] as? [String : AnyObject]{

if let hourNum = data["14"] as? [String : AnyObject] {
if let chanceRain = hourNum["precipProbability"] as? Float{
self.chanceHour1 = String(chanceRain)
}
DispatchQueue.main.sync {
self.ChanceRainLabel.text = self.chanceHour1
}
}
}

}

} catch let jsonError {
print(jsonError.localizedDescription)
}
}
}
Task2.resume() test

Странно то, что это действительно работает:
let urlRequestDark = URLRequest(url: URL (string: "https://api.darksky.net/forecast/(API Key)/(coordinates)")!)

let Task = URLSession.shared.dataTask(with: urlRequestDark) { (data, response, error) in
if error == nil {
do{
let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as! [String : AnyObject]

if let currently = json["currently"] as? [String : AnyObject] {

if let chance2 = currently["precipProbability"] as? Float{
print(String(chance2))
self.chance = String(Int(chance2 * 100)) + "%"
self.PreType = currently["precipType"] as? String
}

if let _ = json["error"]{
}

DispatchQueue.main.sync{
self.TypeLabel.text = self.PreType
self.ChanceLabel.text = self.chance
}
}

}catch let jsonError{
print(jsonError.localizedDescription)
}
}
}
Task.resume()


Подробнее здесь: https://stackoverflow.com/questions/438 ... rk-sky-api
Ответить

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

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

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

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

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