AFNetworking 3.0 에 오류 가 발생 했 습 니 다.Domain=com.alamofire.error.serialization.response Code=-1016"요청 이 실 패 했 습 니 다.

1952 단어 •사과OCiOS
AFNetworking 3.0 을 사용 하 는 중 Error Domain=com.alamofire.error.serialization.response Code=-1016"Request failed:이러한 문제 가 발생 했 습 니 다.그럼 우리 가 어떻게 해결 할 까요?
우 리 는 단지 한 마디 를 더 해 야 할 뿐이다.    
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];

예 를 들 면:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];
[manager POST:requestURLString parameters:parameter progress:^(NSProgress * _Nonnull uploadProgress) {

} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject)
{
    DDLog(@"%@", responseObject);
    block(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"dsajkdaksldjklasjdklajsdla ==== %@",error);
    failureBlock();
}];

게다가 이 말 은 바로 여기 서 시 도 했 지만 결과 가 심각 하 다 는 것 을 알 게 되 었 다.그것 은 바로 반 짝 이 는 현상 이 나 타 났 다 는 것 이다.오류 보고 정 보 는 다음 과 같다.
 
-[__NSDictionaryI bytes]: unrecognized selector sent to instance 0x604000475f40
2018-04-29 17:40:58.494902+0800 WQLMVVM-Master[21585:833455] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryI bytes]: unrecognized selector sent to instance 0x604000475f40'
*** First throw call stack:
 
이 설명 은 유형 이 다 르 기 때문에 오류 가 발생 했 습 니 다.왜 이런 현상 이 발생 했 습 니까?왜냐하면 block 성공 에서 돌아 온 것 은 이미 사전 이기 때 문 입 니 다(NSDictionary)
그래서(responseObject)는 사전 입 니 다.직접 사용 하면 됩 니 다.통과 할 필요 가 없습니다.
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:nil];

사전 으로 바 뀌 었 어 요.

좋은 웹페이지 즐겨찾기