ViewDidLoad에서 기본SessionConfiguration 클래스 메서드를 호출 하 여 NSURLSessionConfiguration 클래스의 인스턴스를 만듭니다. 설명서에 설명된 대로 기본 세션 구성을 사용 하 여 세션은 기본 구성에서 NSURLConnection의 인스턴스처럼 매우 많이 행동 합니다., 우리의 예제에 대 한 괜 찮 아 요. 작업을 만드는 데 사용할 수 있는 여러 가지 방법이 있지만 이해해야 할 핵심 개념은 세션 개체가 작업의 실제 생성 및 구성을 수행한다는 것입니다. 이 예제에서는 dataTaskWithURL:completeHandler: 호출 하 고 NSURL 의 인스턴스뿐만 아니라 완료 처리기를 전달 합니다. 완료 처리기는 세 개의 인수, 응답의 원시 데이터(NSData), 응답 개체(NSURLResponse) 및 오류 개체(NSError)를 허용합니다. 요청이 성공하면 오류 개체가 전무합니다. 요청이 JSON 응답을 반환한다는 것을 알고 있으므로 받은 데이터 개체에서 Foundation 개체를 만들고 출력을 콘솔에 기록합니다. NSURLSession API에는 참조 설명서를 단독으로 읽는 경우 명확하지 않을 수 있는 매우 복잡한 방식으로 함께 작동하는 다양한 클래스가 포함됩니다. API를 사용하기 전에 URL 로드 시스템 항목의 개요를 읽어보십시오. 첫 번째 단계, 업로드 및 다운로드 섹션의 문서에서는 NSURLSession을 통해 일반적인 작업을 수행하는 예제를 제공합니다.

이 두 예제에서는 NSURLSession API의 기본 사항, NSURLConnection과 비교하는 방법 및 그 장점을 근본적으로 이해해야 합니다. 이 시리즈의 다음 부분에서는 NSURLSession의 고급 기능을 살펴보겠습니다. 몇 가지 편리한 코드 조각 및 예제와 함께 NSURLSession을 사용하여 데이터를 빠르게 다운로드하고 게시하는 방법에 대해 알아봅니다. NSURLSession에서 사용할 수 있는 내용의 표면을 긁은 방금. 자세한 정보 및 예제는 이러한 다른 훌륭한 리소스를 체크 아웃: 문서에서 iOS NSURLSession 자습서에서 NSURLSession 및 관련 작업을 만드는 방법을 배웠습니다 요청 보내기 등 관련 네트워크 작업을 구현 하는, 다운로드 파일, 파일 업로드 등. 이 문서에서는 이러한 URL 세션 작업에 대한 몇 가지 예제를 보여 줄 것입니다. NSURLSession API를 사용하여 앱은 하나 이상의 세션을 만들고 각 세션은 관련 데이터 전송 작업 그룹을 조정합니다. 예를 들어 웹 브라우저를 만드는 경우 앱에서 탭 또는 창당 하나의 세션또는 대화형 사용을 위한 세션, 백그라운드 다운로드를 위한 세션을 만들 수 있습니다. 각 세션 내에서 앱은 일련의 작업을 추가하며, 각 작업은 특정 URL에 대한 요청을 나타냅니다(필요한 경우 HTTP 리디렉션 다음). 이전 예제에서는 완료 처리기를 사용하여 요청에서 받은 응답을 처리했습니다. 작업 대리자 프로토콜을 구현하여 동일한 결과를 얻을 수도 있습니다.

NSURLSession 및 NSURLSessionDownloadTask를 활용하여 이미지를 다운로드하는 데 필요한 것을 살펴보겠습니다. 위에 표시된 대로 뷰 컨트롤러의 viewDidLoad 메서드에서 세션 개체를 만듭니다. 우리가 만든 세션 개체는 우리의 예제에 대 한 괜 찮 아 요, 하지만 대부분의 경우에 좀 더 많은 유연성을 원하는. 방금 만든 세션 개체는 전역 NSURL캐시, NSHTTPCookieStorage 및 NSURL 자격 증명 저장소를 사용합니다. 즉, NSURLConnection의 기본 구현과 매우 유사합니다. 사용할 세션 개체를 넣려면 iTunes Store 검색 API를 쿼리하고 Apple에서 만든 소프트웨어를 검색해 보겠습니다.