Alamofire API请求因swift 3中的responseSerializationFailed而失败
我正在使用Alamofire调用正常的API调用,而且我没有在网络管理器类中传递任何数据。
我的网络课是
func executeGetRequest(url:String,requestVC:UIViewController,completionHandler:@escaping (_ responseObject:Any?) -> Void!,failureHandler:@escaping (_ connectionError:NSError?) -> Void!){ //Checking internet alert if !self.isConnectedToInternet(){ // requestVC.showAlert(kText_AppName, message: kText_NoInternet) return } requestVC.showLoader() Alamofire.request(url).responseJSON { (response:DataResponse) in requestVC.removeLoader() switch(response.result) { case .success(_): if response.result.value != nil{ completionHandler (response.result.value) } break case .failure(let error): failureHandler (error as NSError?) break } } }
我从我的主要class级打电话给我
kNetworkManager.executeGetRequest(url: kAppAccessTokenURL, requestVC: self, completionHandler: { (responseObject) -> () in print("responseObject:\(responseObject!)") }, failureHandler: {(error)-> () in print("response object:\(error!)") self.showAlert(message: (error?.description)!, title: kText_AppName) if error?._code == NSURLErrorTimedOut { //timeout here self.showAlert(message: kText_timeout, title: kText_AppName) } })
它总是请求失败并显示错误为responseSerializationFailed
如果我直接在Main Class中调用没有经理类的话
Alamofire.request(kAppAccessTokenURL).responseString { response in
我能得到回复,任何人都可以建议我在Network类中出错。
在这里
Alamofire.request(kAppAccessTokenURL).responseString
那里
Alamofire.request(url).responseJSON
期待那个
let jsonText = "{\"first_name\":\"Sergey\"}" var dictonary:NSDictionary? if let data = jsonText.dataUsingEncoding(NSUTF8StringEncoding) { do { dictonary = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? [String:AnyObject] if let myDictionary = dictonary { print(" First name is: \(myDictionary["first_name"]!)") } } catch let error as NSError { print(error) } }