0
Swift 1私はNSJSONSerializationの前に "try"を追加しましたが、今は "'(NSData!, NSError!) throws ->()' to non-throwing function type '(NSData!, NSError!) -> Void'
の関数を投げて無効な変換をしています。私は思っています。エラーが適切に処理されていませんが、私はそれを行う方法がわからない。ここで'(NSData!、NSError!)throwing - >()' throwing function type '(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()
}
}
})
}
何らかの理由でそれがコードとして最初の数行を示していません。 error!= nilの場合、httpHelper.sendRequest(httpRequest、completion:{(data:NSData!、error:NSError!)のエラーメッセージが返されます。 let errorMessage = self.httpHelper.getErrorMessage(error) let errorAlert = UIAlertView (タイトル: "Error"、メッセージ:errorMessage as String、デリゲート:nil、cancelButtonTitle: "Ok") errorAlert.show() – Nick