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

urlSession(_:dataTask:didBecome:)

Tells the delegate that the data task was changed to a stream task. データタスクがストリームタスクに変更されたことを委任先に伝えます。

Declaration 宣言

optional func urlSession(_ session: URLSession, 
                dataTask: URLSessionDataTask, 
               didBecome streamTask: URLSessionStreamTask)

Parameters パラメータ

session

The session containing the task that was replaced by a stream task. ストリームタスクによって置き換えられたタスクを含んでいるセッション。

dataTask

The data task that was replaced by a stream task. ストリームタスクによって置き換えられたデータタスク。

streamTask

The new stream task that replaced the data task. データタスクを置き換えた新しいストリームタスク。

Discussion 議論

When your urlSession(_:dataTask:didReceive:completionHandler:) delegate method uses the URLSession.ResponseDisposition.becomeStream disposition to convert the request to use a stream, the session calls this delegate method to provide you with the new stream task. After this call, the session delegate receives no further delegate method calls related to the original data task. あなたのurlSession(_:dataTask:didReceive:completionHandler:)委任先メソッドがURLSession.ResponseDisposition.becomeStreamの意向を使うことで、そのリクエストをあるストリームを使うように変換するならば、セッションはこの委任先メソッドを呼び出すことであなたに新しいストリームタスクを提供します。この呼び出しの後、セッション委任先は、元のデータタスクに関連する委任先メソッド呼び出しをこれ以上は受け取りません。

For requests that were pipelined, the stream task allows only reading, and the object immediately sends the delegate message urlSession(_:writeClosedFor:). You can disable pipelining for all requests in a session by setting the httpShouldUsePipelining property on its URLSessionConfiguration object, or for individual requests by setting the httpShouldUsePipelining property on an NSURLRequest object.

See Also 参照

Handling Task Life Cycle Changes タスクライフサイクル変化を取り扱う