最近的项目中,第一次遇到一种情况,服务端返回的错误信息包含在AFNetworking返回的Error中,以往服务端返回的信息,无论成功或者失败,都会从AFNetworking的success块中返回,failure块很少需要特别去处理。这次就尝试了从Error中取出需要的错误信息,这只是我所遇到的一种情况,还没有对其他可能的情况进行研究,有熟悉这部分内容的小伙伴可以分享一下,以下是获取错误信息的代码:
if ([error.domain isEqualToString:AFURLResponseSerializationErrorDomain]) { // server error id response = [NSJSONSerialization JSONObjectWithData:error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] options:0 error:nil]; // response中包含服务端返回的内容 } else if ([error.domain isEqualToString:NSCocoaErrorDomain]) { // server throw exception } else if ([error.domain isEqualToString:NSURLErrorDomain]) { // network error }