Ich habe ein Problem mit der Analyse in Swift, wo es heißt, ich kann Wert des Typs [Dictionary] nicht konvertieren, um [String: AnyObject] Dies ist die Zeile, die verursacht Der FehlerWert des Typs kann nicht konvertiert werden - Swift
self.grabData(json: json as [String : AnyObject])
Dies ist der gesamte Code. Vielen Dank!
func jsonParser() {
let urlPath = "http://csmadison.dhcp.bsu.edu/~vjtanksale/cs320/selectstudents.php"
guard let endpoint = URL(string: urlPath) else {
print("Error creating endpoint")
return
}
let request = URLRequest(url: endpoint)
URLSession.shared.dataTask(with: request) { (data, response, error) in
do {
guard let data = data else {
return
}
guard let json = try JSONSerialization.jsonObject(with: data, options: []) as? [Dictionary<String, Any?>] else {
print("No idea")
return
}
print(json)
self.grabData(json: json as [String : AnyObject]) // This is where I get the error
} catch let error as NSError {
print(error.debugDescription)
}
}.resume()
}
func grabData(json: [String:AnyObject]) {
guard let searchResult = SearchResult(json: json) else {
return
}
self.results.append(searchResult)
DispatchQueue.main.async {
self.listTableView.reloadData()
}
}
Dies das Problem behoben. Allerdings ist mein Ergebniswörterbuch danach leer. Nur json hat Daten drin. – tncb
Ist 'result' beim Looping leer? oder sind deine 'self.results' leer? –
Beide sind leer. Ich glaube, dass das Ergebnis in JSON-Schleife es nicht anhängt. – tncb