在failure的block里写:
Objective-C部分:
NSDictionary *userinfo = [[NSDictionary alloc] initWithDictionary:error.userInfo];
if(userinfo) {
NSError *innerError = [userinfo valueForKey:@"NSUnderlyingError"];
if(innerError) {
NSDictionary *innerUserInfo = [[NSDictionary alloc] initWithDictionary:innerError.userInfo];
if(innerUserInfo)
{
if([innerUserInfo objectForKey:AFNetworkingOperationFailingURLResponseDataErrorKey])
{
NSString *strError = [[NSString alloc] initWithData:[innerUserInfo objectForKey:AFNetworkingOperationFailingURLResponseDataErrorKey] encoding:NSUTF8StringEncoding];
NSLog(@"Error is : %@",strError);
}
}
} else
{
NSString *errResponse = [[NSString alloc] initWithData:[userinfo valueForKey:@"AFNetworkingOperationFailingURLResponseDataErrorKey"] encoding:NSUTF8StringEncoding];
if(errResponse)
{
NSLog(@"%@",errResponse);
}
}
}
swift部分:
if let userInfo : NSDictionary = error.userInfo as NSDictionary {
if let innerError : NSError = userInfo.objectForKey("NSUnderlyingError") as? NSError {
if let innerUserInfo : NSDictionary = innerError.userInfo as NSDictionary {
if innerUserInfo.objectForKey(AFNetworkingOperationFailingURLResponseDataErrorKey) != nil {
let StrError = NSString(data: innerUserInfo.objectForKey(AFNetworkingOperationFailingURLResponseDataErrorKey) as! NSData, encoding: NSUTF8StringEncoding)
print(StrError)
}
} else if let errResponse: String = String(data: (error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] as! NSData), encoding: NSUTF8StringEncoding) {
print(errResponse)
}
}
}
网友评论