2012-10-30 2 views
1

방금 ​​AFNetworking을 사용하기 시작했으며 enqueueBatchOfHTTPRequestOperations를 사용하여 3 개의 AFJSONRequestOperation 개체를 일괄 처리 할 때 예외가 발생했습니다. 모든 AFJSONRequestOperation 완료 블록이 실행되기 전에 대기열의 completionBlock이 가끔 발생하는 것으로 나타났습니다. 몇 가지 조사를 한 후 AFJSONRequestOperation과 JSON에 대한 응답 데이터를 구문 분석하여 별도의 대기열에서 처리하는 것으로 보입니다.이 대기열은 구문 분석이 완료되기 전에 요청이 대기열에보고됨을 의미합니다.AFNetworking - 모든 JSON 요청이 완료되기 전에 일괄 처리 작업 완료 블록 실행

내 질문에 따라서 - 내 3 요청에 AFHTTPRequestOperation 개체를 대신 사용할 수 있으며 요청 완료 블록 내에서 직접 JSON을 직접 구문 분석 할 수 있습니까? 이렇게하면 모든 요청이 완료된 후에 queue completionBlock이 실행된다는 것을 보장 할 수 있습니까?

답변

1

AFJSONRequestOperation 대신 AFHTTPRequestOperation을 사용하고 수동으로 JSON을 구문 분석하도록 코드를 변경했으며 최근 며칠 동안 새 버전을 테스트했습니다. 문제가 한번 발생하는 것을 보지 못했기 때문에 모든 요청이 완료되기 전에 대기열 완료 블록이 AFJSONRequestOperation을 사용할 때만 발생한다고 말하는 것이 안전하다고 생각합니다.

관련 문제