Ich habe versucht, von Swift 1 zu konvertieren zu 2 in der Zeile if let jsonData Array = try NSJSONSerialization...
, weil es ursprünglich gab mir einen Fehler von der "extra Argument 'Fehler' im Aufruf", so habe ich das "try" vor NSJSONSerialization, aber jetzt sagt es "Ungültige Konvertierung von werfen Funktion des Typs '(NSData!, NSError!) throws ->()' to non-throwing function type '(NSData!, NSError!) -> Void'
. Ich denke der Fehler nicht richtig gehandhabt, aber ich weiß nicht, wie das zu tun. Hier ist der CodeUngültige Konvertierung von werfen Funktion des Typs '(NSData !, NSError!) Wirft ->()' zu nicht-werfen Funktionstyp '(NSData !, NSError!) -> Void'
httpHelper.sendRequest(httpRequest, completion: {(data:NSData!, error:NSError!) in
if error != nil {
let errorMessage = self.httpHelper.getErrorMessage(error)
let errorAlert = UIAlertView(title:"Error", message:errorMessage as String, delegate:nil, cancelButtonTitle:"Ok")
errorAlert.show()
return
}
var error: NSError?
// let jsonDataDict = try? NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions(0), error: &error) as! NSDictionary
// let jsonDataDict = try? NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions(rawValue: 0)) as! NSDictionary
if let jsonDataArray = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions(rawValue: 0)) as? NSArray! {
//load collection view with selfies
if jsonDataArray != nil {
for imageDataDict in jsonDataArray {
var selfieImgObj = SelfieImage()
selfieImgObj.imageTitle = imageDataDict.valueForKey("title") as! String
selfieImgObj.imageId = imageDataDict.valueForKey("random_id") as! String
selfieImgObj.imageThumbnailURL = imageDataDict.valueForKey("image_url") as! String
self.dataArray.append(selfieImgObj)
}
self.collectionView?.reloadData()
}
}
})
}
Aus irgendeinem Grund ist es nicht die ersten paar Zeilen als Code zeigt. Vor "return" ist httpHelper.sendRequest (httpRequest, Abschluss: {(Daten: NSData !, Fehler: NSError!) In wenn Fehler! = Nil { lassen Sie errorMessage = self.httpHelper.getErrorMessage (Fehler) lassen Sie errorAlert = UIAlertView (titel: "Fehler", nachricht: errorMessage als String, delegate: nil, cancelButtonTitle: "Ok") errorAlert.show() – Nick