2017-09-05 7 views
0

현재 URI에 URLSessionDataTask을 만들려고합니다. URI가 리디렉션되기 때문에 리디렉션 된 (최종) URL이 무엇인지 알아야합니다. 나는 대리자를 할당 할 수 URLSessionDataTask의 속성을 찾을 수 없습니다 :이 작업을 수행하기 위해, 나는URLSessionDataTask에 대리자를 할당하는 방법은 무엇입니까?

문제는 (이 방법은 수퍼 클래스 URLSessionDelegate에서 상속) URLSessionDataDelegatewillPerformHTTPRedirection 방법을 사용하고 싶습니다. 나의 이해에서

, 클래스 (예를 들어, class A가) 대리자 클래스 (예를 들어, class ADelegate)가있는 경우, 또한 일반적으로 접미사 delegate로 이름 class A 내부 속성이 있어야합니다. 델리게이트의 메소드를 구현하고자 할 때, 델리게이트 클래스의 인스턴스를 인스턴스화하고 이것을 delegate 속성에 할당합니다. 예 : :

var instanceA = A() 
var instanceADelegate = ADelegate() 

instanceA.delegate = instanceADelegate 

내 이해가 잘못 되었습니까? URLSessionDataDelegate에 메서드를 구현 한 다음 URLSessionDataTask 내부에서 사용하는 올바른 방법은 무엇입니까?

답변

1

문제는 : 나는 대리인이 URLSession에 속하기 때문에

에 대리자를 할당 할 URLSessionDataTask의 속성을 찾을 수 없습니다. the docs에서 :

프로토콜 URLSessionDataDelegate NSURLSessionDataDelegate 프로토콜은 URLSession 객체의 대리자 데이터 작업에 특정 작업 수준의 이벤트를 처리하고 작업을 업로드 할 구현할 수있는 방법을 정의합니다.

(강조 광산.)

+0

내가 willPerformHTTPRedirection'는 URLSessionTaskDelegate''에 실제로'생각합니다. 이걸 URLSession에 어떻게 할당할까요? 'URLSession.shared'에 이것을 설정합니까? 그렇다면, 어떻게합니까? –

+0

@JoshParadroid 해당 페이지 내에서 "위임"이라는 용어에 대해서는 https://developer.apple.com/documentation/foundation/urlsession 검색을 참조하십시오 – matt

+0

나중에 참조 할 수 있도록 : 위임은 URLSession 생성자에서 설정됩니다. –