let defaultConfiguration = URLSessionConfiguration.default
let operationQueue = OperationQueue.main
let defaultSession = URLSession(configuration: defaultConfiguration, delegate: self, delegateQueue: operationQueue)
if let url = URL(string: "https://newsapi.org/v1/articles?source=abc-news-au&sortBy=top&apiKey=47d2ce48babd47b1bc391b426b89ca23")
{
(defaultSession.dataTask(with: url) { (data, response, error) in
if error != nil{
return
}
do {
let resultJson = try JSONSerialization.jsonObject(with: data!, options: []) as? [String:AnyObject]
if var dataDictionary = resultJson {
// dataDictionary["access_token"] as AnyObject
self.dataArray = dataDictionary["articles"] as! [Any]
var dataDictionary22 = self.dataArray[0] as! [String: Any] as [String : AnyObject]
let url = URL(string:
"\(String(describing: dataDictionary22["urlToImage"]!))")
print("url -> \(String(describing: url!))")
let task = URLSession.shared.dataTask(with: url!) { data, response, error in
guard let data = data, error == nil else {
return
}
self.imageView.image = UIImage(data: data)
}
task.resume()
}
} catch {
print("Error -> \(error)")
}
}).resume()
}
Ich versuche, Nachrichten Updates von den offenen api durch nsurlsession zu bekommen und es hat dictionary-> Array-> dictionary-> auf die Taste „urlToImage“ aber iam bekommen URL wie http://www.abc.net.au/news/image/8968140-1x1-700x700.jpg aber nicht Image-Datei in Daten bekommen es war leer kann irgendjemand den Code lenth minimieren und mein Problem lösenFehler beim Abrufen des Bildes von der URL?
Verwenden Sie keine '[String: ANYOBJECT ] 'als JSON-Wörterbuchdarstellung in Swift 3 überhaupt. Ein JSON-Wörterbuch ist '[String: Any]', weil alle JSON-Dictionary-Werte (Swift) -Werttypen sind. – vadian