Ich mache eine "Meine Wetter App", in der ich mit dem Herunterladen von Daten aus dem Internet üben. Aber ich erhalte einen Fehler beim Testen mit einer statischen URL, und ich weiß nicht warum.Herunterladen von Daten (JSON) funktioniert nicht: unerwartet gefunden Null beim Entpacken ein Optionaler Wert
Teil meines Wetter Modell:
init(location: String, temp: Double, icon: String) {
self._location = location
self._temp = temp
self._icon = icon
url = "http://api.openweathermap.org/data/2.5/forecast?lat=52.379189&lon=4.899431&APPID=28c704926d4f9131886a0bce5d2425d9"
}
func downloadWeatherDetails(completed: DownloadComplete) {
let weatherUrl = NSURL(string: url)!
Alamofire.request(.GET, weatherUrl).responseJSON { response in
let result = response.result
print(result.value.debugDescription)
}
}
Teil meines Viewcontroller:
var weather: Weather!
override func viewDidLoad() {
super.viewDidLoad()
weather.downloadWeatherDetails() {() ->() in
//This will be called after download is done
}
}
Meines 'Konstanten' file:
typealias DownloadComplete =() ->()
Die URL funktioniert, wenn ich Testen Sie es im Browser, das ist nicht der Punkt. Ich weiß nicht, was schief läuft. Könnte mir jemand helfen?
Vielen Dank!
Wo ist 'var weather' eingestellt? Ohne einen Wert irgendwo zuzuweisen, ist die Variable 'nil' – vadian
Sie ist im ViewController eingestellt: var Wetter: Wetter! Ist das der falsche Weg? – debbiedowner
Meine erste Vermutung ist, dass Sie ein Opfer von App Transport Security sind. Haben Sie in Ihrer info.plist eine Ausnahme gemacht? Wenn Sie dem Alamofire-Aufruf eine Fehlerkomponente hinzufügen, sollten Sie in der Lage sein, einen Haltepunkt hinzuzufügen und zu prüfen. Suchen Sie nach "Die Ressource konnte nicht geladen werden, da die App-Transportsicherheitsrichtlinie die Verwendung einer sicheren Verbindung erfordert." – brandonscript