2017-09-05 4 views
0

現在、私はURLSessionDataTaskをURIにしようとしています。 URIがリダイレクトされるため、リダイレクトされた(最終的な)URLが何であるかを調べる必要があります。これを行うために、私はURLSessionDataDelegatewillPerformHTTPRedirectionメソッドを使用したい(このメソッドは、そのスーパークラスURLSessionDelegateから継承されます)URLSessionDataTaskにデリゲートを割り当てる方法は?

問題がある:私は、デリゲートを割り当てるURLSessionDataTaskのプロパティを見つけることができませんでした。私の理解から

、クラス(例えば、class A)は委譲クラス(たとえば、class ADelegate)を持っていれば、また、通常、接尾辞delegateと命名されclass A内部プロパティをそこに持っている必要があります。デリゲートのメソッドを実装する場合は、デリゲートクラスのインスタンスをインスタンス化し、それをデリゲートプロパティに割り当てます。例えば:

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このページ内の "delegate"という用語については、docs https://developer.apple.com/documentation/foundation/urlsession検索を参照してください。 – matt

+0

今後の参考として、デリゲートはURLSessionのコンストラクタで設定されています。 –

関連する問題