Instance Method インスタンスメソッド

download(_:willSend:redirectResponse:)

Sent when the download object determines that it must change URLs in order to continue loading a request. ダウンロードオブジェクトが、それがリクエストのロードを継続するためにURLを変更しなければならないことを決定する場合に送られます。

Declaration 宣言

optional func download(_ download: NSURLDownload, 
              willSend request: URLRequest, 
      redirectResponse: URLResponse?) -> URLRequest?

Parameters パラメータ

download

The URL download object sending the message. メッセージを送っているURLダウンロードオブジェクト。

request

The proposed redirected request. The delegate should inspect the redirected request to verify that it meets its needs, and create a copy with new attributes to return to the connection if necessary. 提案されたリダイレクト用リクエスト。委任先は、リダイレクト用リクエストを検査することで、それがそれの要求を満たすことを検証するべきです、そしてコピーを新しい属性で作成して接続へと返すべきです、もし必要ならば。

redirectResponse

The URL response that caused the redirect. May be nil in cases where this method is not being sent as a result of involving the delegate in redirect processing. リダイレクトを引き起こしたURL応答。nilであるかもしれません、このメソッドが、リダイレクト処理に委任先を関わらせる結果として送られていない場合には。

Return Value 戻り値

The actual URL request to use in light of the redirection response. The delegate may copy and modify request as necessary to change its attributes, return request unmodified, or return nil. リダイレクト応答に照らして使われることになる実際のURLリクエスト。委任先は、requestをそれの属性を変更するために必要に応じてコピーおよび修正する、修正されないrequestを返す、またはnilを返すかもしれません。

Discussion 議論

If the delegate wishes to cancel the redirect, it should call the download object’s cancel() method. Alternatively, the delegate method can return nil to cancel the redirect, and the download will continue to process. This has special relevance in the case where redirectResponse is not nil. In this case, any data that is loaded for the download will be sent to the delegate, and the delegate will receive a downloadDidFinish(_:) or download(_:didFailWithError:) message, as appropriate. 委任先がリダイレクトのキャンセルを願うならば、それはdownloadオブジェクトのもつcancel()メソッドを呼び出すべきです。代わりに、委任先メソッドはnilを返すことでリダイレクトをキャンセルできます、そしてダウンロードは処理を継続するでしょう。これは、redirectResponsenilでない場合において特に関係します。この場合、そのダウンロードに対してロードされるあらゆるデータは委任先に送られます、そして委任先はdownloadDidFinish(_:)またはdownload(_:didFailWithError:)メッセージを、しかるべく受け取ります。

Special Considerations 特別な注意事項

The delegate can receive this message as a result of transforming a request’s URL to its canonical form, or for protocol-specific reasons, such as an HTTP redirect. The delegate implementation should be prepared to receive this message multiple times. 委任先は、このメッセージを受け取ることが、リクエストのもつURLをそれの正準形式へ変換する結果として、またはプロトコル特有の理由に対して可能です、例えばHTTPリダイレクトとして。委任先実装は、このメッセージを複数回受け取る用意があるべきです。

See Also 参照

Download Data and Responses ダウンロードデータおよび応答