0

비동기 적으로 RESTful 웹 서비스를 호출하여 JSON 컨텐츠를 얻고 JSON 응답을 구문 분석하여 일부 데이터 모델 엔티티를 작성해야하는 일반적인 시나리오가있다. 이 프로세스는 취소/재개 될 수 있습니다. 나는 가장 좋은 방법이 될 것이라고 완전히 확신하지 : 전자가 인에서비동기 작업 대 비동기 네트워크 작업?

  • 네트워크 호출을위한 Operation와 JSON 구문 분석에 대한 또 다른 Operation를 구현하고 두 작업 사이의 종속성을 설정합니다 (JSON 출력 후자의 데이터 입력). 그런 다음 해당 작업을 OperationQueue에 추가하십시오.
  • URLSessionURLSessionDataTask을 사용하여 네트워크 호출을 수행하고 콜백에서 JSON 구문 분석을 수행합니다.

아니면 다른 방법이 좋을까요?

편집 : 내 시나리오에서는 동시 네트워크 호출을 수행 할 필요가 없습니다. 다른 매개 변수로 서비스를 호출해야하는 경우 필요한 경우 이전 네트워크 작업을 중지하고 새 작업을 시작할 수 있어야합니다.

답변

0

대부분의 간단한 경우 대답은 URLSession 일 뿐이지 만 복잡한 것처럼 보이는 경우 Operation은 유용한 도구입니다. 이 정확한 사용 사례는 길이가 Advanced NSOperations입니다.

+0

감사합니다. 두 가지 작업, 네트워크 호출 + JSON 응답 구문 분석 및 동시성이 필요하지 않습니다. 새로운 네트워크 통화가 필요한 경우 진행중인 경우 이전 네트워크를 중지하고 새 네트워크를 시작하면됩니다. 그렇다면 URLSession 옵션이 더 적합할까요? – AppsDev

+0

예; 'invalidateAndCancel()'을 사용하여 기존 세션을 취소 할 수 있습니다. 당신은 그것을 추적 할 필요가 있습니다. –