사용할 세션 개체를 넣려면 iTunes Store 검색 API를 쿼리하고 Apple에서 만든 소프트웨어를 검색해 보겠습니다. iTunes Store 검색 API는 사용하기 쉽고 인증이 필요하지 않습니다. 기사에서 iOS NSURLSession 튜토리얼 당신은 NSURLSession 및 관련 작업을 만드는 방법을 배웠습니다 이러한 전송 요청, 다운로드 파일, 파일 업로드 등과 같은 관련 네트워크 작업을 구현합니다. 이 문서에서는 이러한 URL 세션 작업에 대한 몇 가지 예제를 보여 줄 것입니다. 이 두 예제에서는 NSURLSession API의 기본 사항, NSURLConnection과 비교하는 방법 및 그 장점을 근본적으로 이해해야 합니다. 이 시리즈의 다음 부분에서는 NSURLSession의 고급 기능을 살펴보겠습니다. 작업을 만드는 데 사용할 수 있는 여러 가지 방법이 있지만 이해해야 할 핵심 개념은 세션 개체가 작업의 실제 생성 및 구성을 수행한다는 것입니다. 이 예제에서는 dataTaskWithURL:completeHandler: 호출 하 고 NSURL 의 인스턴스뿐만 아니라 완료 처리기를 전달 합니다. 완료 처리기는 세 개의 인수, 응답의 원시 데이터(NSData), 응답 개체(NSURLResponse) 및 오류 개체(NSError)를 허용합니다. 요청이 성공하면 오류 개체가 전무합니다. 요청이 JSON 응답을 반환한다는 것을 알고 있으므로 받은 데이터 개체에서 Foundation 개체를 만들고 출력을 콘솔에 기록합니다.
이 예제에서는 세션WithConfiguration:delegate:delegateQueue: 클래스 메서드를 호출 하 여 NSURLSession 인스턴스를 만들고 잠시 전에 만든 세션구성 개체를 전달 합니다. 뷰 컨트롤러를 세션 대리자로 설정하고 nil을 세 번째 인수로 전달합니다. 지금은 세 번째 인수를 무시할 수 있습니다. 이전 예제와의 주요 차이점은 세션의 대리자를 뷰 컨트롤러로 설정한다는 것입니다. NSURLSession API를 사용하여 앱은 하나 이상의 세션을 만들고 각 세션은 관련 데이터 전송 작업 그룹을 조정합니다. 예를 들어 웹 브라우저를 만드는 경우 앱에서 탭 또는 창당 하나의 세션또는 대화형 사용을 위한 세션, 백그라운드 다운로드를 위한 세션을 만들 수 있습니다. 각 세션 내에서 앱은 일련의 작업을 추가하며, 각 작업은 특정 URL에 대한 요청을 나타냅니다(필요한 경우 HTTP 리디렉션 다음). 위에 표시된 대로 뷰 컨트롤러의 viewDidLoad 메서드에서 세션 개체를 만듭니다.
우리가 만든 세션 개체는 우리의 예제에 대 한 괜 찮 아 요, 하지만 대부분의 경우에 좀 더 많은 유연성을 원하는. 방금 만든 세션 개체는 전역 NSURL캐시, NSHTTPCookieStorage 및 NSURL 자격 증명 저장소를 사용합니다.