Это мой код для совершения сетевого звонка forecast.io
. Внутри ViewController
у меня есть:Сбой сетевого соединения из-за разворачивания
private let apiKey = ""//my key
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let baseURL = NSURL(string: "https://api.forecast.io/forecast/\(apiKey)")
let forecastURL = NSURL(string: "37.8267,-122.423", relativeToURL : baseURL)
let sharedSession = NSURLSession.sharedSession()
let downloadTask : NSURLSessionDownloadTask = sharedSession.downloadTaskWithURL(forecastURL!, completionHandler: { (location: NSURL!, response: NSURLResponse!, error: NSError!) -> Void in
if (error == nil) {
let dataObject = NSData(contentsOfURL: location)
let weatherDictionary : NSDictionary = NSJSONSerialization.JSONObjectWithData(
dataObject!, options: nil, error: nil) as! NSDictionary
}
})
downloadTask.resume()
}
Я пытаюсь установить свои данные в NSDictionary
, чтобы иметь возможность доступа к нему. У меня есть ошибка (зеленая линия), которая имеет что-то делать с weatherDictionary
:
fatal error: unexpectedly found nil while unwrapping an Optional value
Я разворачивания dataObject
, так что может быть проблема?
weatherDictionary должен иметь значение nil. Проверьте данныеОбъект – Ritu
Вы подтвердили, что действительный JSON возвращается? И что JSON действительно представляет собой * словарь *? - Btw ([Я повторяюсь] (http://stackoverflow.com/questions/30219596/unable-to-make-network-call#comment48544525_30219596)): Используйте параметр ошибки !! –
комментируя weatherdictionary и println (dataObject), говорит мне, что это не JSON. Но разве погодаDictionary не должна делать это JSON? Если это не проблема, поскольку dataObject - это просто строка чисел. – ecoguy