Я пытался конвертировать из Swift 1 до 2 в строке if let jsonData Array = try NSJSONSerialization...
, потому что она изначально давала мне ошибку из «лишнего аргумента» при вызове «поэтому я добавил« try »перед NSJSONSerialization, но теперь он говорит« Неверное преобразование из функции бросания типа '(NSData!, NSError!) throws ->()' to non-throwing function type '(NSData!, NSError!) -> Void'
. ошибка не обрабатывается должным образом, но я не знаю, как это сделать. Вот кодНеверное преобразование из функции бросания типа '(NSData !, NSError!) Throws ->()' для не-бросания функции типа '(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()
}
}
})
}
По какой-то причине он не показывает первые несколько строк в качестве кода. Прежде чем «return» будет httpHelper.sendRequest (httpRequest, завершение: {(данные: NSData !, error: NSError!) В , если ошибка! = Nil { let errorMessage = self.httpHelper.getErrorMessage (ошибка) let errorAlert = UIAlertView (название: «Ошибка», сообщение: errorMessage as String, delegate: nil, cancelButtonTitle: «Ok») errorAlert.show() – Nick