enum URLSession.ResponseDisposition
func urlSession (URLSession, dataTask : URLSessionDataTask, didBecome : URLSessionDownloadTask)
func urlSession (URLSession, dataTask : URLSessionDataTask, didBecome : URLSessionStreamTask)
Availability 有効性
Technology
optional func urlSession(_ session: URLSession
,
dataTask: URLSessionDataTask
,
didReceive response: URLResponse
,
completionHandler: @escaping (URLSession
.ResponseDisposition
) -> Void
)
session
The session containing the data task that received an initial reply. 最初の返答を受け取ったデータタスクを含んでいるセッション。
dataTask
The data task that received an initial reply. 最初の返答を受け取ったデータタスク。
response
A URL response object populated with headers. ヘッダそれらで満たされたURL応答オブジェクト。
completionHandler
A completion handler that your code calls to continue a transfer, passing a URLSession
constant to indicate whether the transfer should continue as a data task or should become a download task.
あなたのコードがある転送を継続するために呼び出すある完了ハンドラ、URLSession
定数を渡すことで転送がデータタスクとして継続すべきかまたはダウンロードタスクになるべきかどうかを指し示します。
If you pass URLSession
, the task continues as a data task.
あなたがURLSession
を渡すならば、タスクはデータタスクとして継続します。
If you pass URLSession
, the task is canceled.
あなたがURLSession
が渡すならば、タスクは取り消されます。
If you pass URLSession
, your delegate’s url
method is called to provide the new download task that supersedes the current task.
あなたがURLSession
を渡すならば、あなたの委任先のもつurl
メソッドが新しいダウンロードタスクを提供するために呼びだされます、それは現在のタスクに取って変わります。
Concurrency Note 並行性注意
You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration: あなたは、このメソッドを同期コードから完了ハンドラを使って呼び出せます、このページで示されるように、またはあなたはそれを以下の宣言を持つ非同期メソッドとして呼び出せます:
For information about concurrency and asynchronous code in Swift, see Calling Objective-C APIs Asynchronously. Swiftにおける並行性と非同期コードについての情報として、Objective-C APIを非同期に呼び出すを見てください。
Implementing this method is optional unless you need to cancel the transfer or convert it to a download task when the response headers are first received. If you don’t provide this delegate method, the session always allows the task to continue. このメソッドを実装することは随意です、応答ヘッダが最初に受け取られる場合にあなたがその転送を取り消すまたはそれをダウンロードタスクに変換する必要がある場合を除いて。あなたがこの委任先メソッドを提供しないならば、セッションは常にタスクの継続を許可します。
You also implement this method if you need to support the fairly obscure multipart/x-mixed-replace
content type. With that content type, the server sends a series of parts, each of which is intended to replace the previous part. The session calls this method at the beginning of each part, followed by one or more calls to url
with the contents of that part.
あなたはまたこのメソッドを、もしあなたが相当に曖昧なmultipart/x-mixed-replace
コンテンツタイプをサポートする必要があるならば実装します。そのコンテンツタイプでは、サーバは一連の部分を送信します、そのそれぞれが前の部分を置き換えることを意図されます。セッションは、このメソッドを各部の始まりで呼び出します、その後に1つ以上のurl
への呼び出しをその部分の内容をつかって続けます。
Each time the url
method is called for a part, collect the data received for the previous part (if any) and process the data as needed for your application. This processing can include storing the data to the filesystem, parsing it into custom types, or displaying it to the user. Next, begin receiving the next part by calling the completion handler with the URLSession
constant. Finally, if you have also implemented url
, the session will call it after sending all the data for the last part.
url
メソッドがある部分に対して呼び出されるたびに、前の部分に対して受け取られたデータを集めて(もしあれば)そしてそのデータをあなたのアプリケーションの必要に応じて処理します。この処理は、データをファイルシステムに格納する、それをあつらえの型へと構文解析する、またはそれをユーザに表示することを含むことができます。その次に、次の部分を受け取ることを、完了ハンドラをURLSession
定数で呼び出すことで始めます。最後に、あなたがまたurl
も実装したならば、セッションはそれを最後の部分に対する全てのデータを送る後に呼び出すでしょう。
enum URLSession.ResponseDisposition
func urlSession (URLSession, dataTask : URLSessionDataTask, didBecome : URLSessionDownloadTask)
func urlSession (URLSession, dataTask : URLSessionDataTask, didBecome : URLSessionStreamTask)