The URL request to load. The request
object is deep-copied as part of the initialization process. Changes made to request
after this method returns do not affect the request that is used for the loading process.
ロードすることになるURLリクエスト。request
オブジェクトは、初期化処理の一部として深いコピーをされます。このメソッドが返った後にrequest
になされる変更は、ロード処理に使われるリクエストに影響を及ぼしません。
sendSynchronousRequest(_:returning:)
Availability 有効性
- iOS 2.0–9.0 Deprecated
- iPadOS 2.0–9.0 Deprecated
- macOS 10.3–10.11 Deprecated
- Mac Catalyst 13.1–13.1 Deprecated
- tvOS 9.0–9.0 Deprecated
Technology
- Foundation ファウンデーション
Declaration 宣言
class func sendSynchronousRequest(_ request: URLRequest
,
returning response: AutoreleasingUnsafeMutablePointer
<URLResponse
?>?) throws -> Data
Parameters パラメータ
request
response
Out parameter for the URL response returned by the server. サーバーによって返されるURL応答に対するoutパラメータ。
error
Out parameter used if an error occurs while processing the request. May be
NULL
. リクエストを処理している間にエラーが発生するならば使われるoutパラメータ。NULL
かもしれません。
Return Value 戻り値
The downloaded data for the URL request. Returns nil
if a connection could not be created or if the download fails.
そのURLリクエストに対してダウンロードされたデータ。nil
を返します、もし接続が作成されることができなかったならばまたはダウンロードが失敗するならば。
Discussion 議論
A synchronous load is built on top of the asynchronous loading code made available by the class. The calling thread is blocked while the asynchronous loading system performs the URL load on a thread spawned specifically for this load request. No special threading or run loop configuration is necessary in the calling thread in order to perform a synchronous load. 同期的ロードは、クラスによって利用可能にされる非同期ロードコードの一番上に構築されます。呼び出しているスレッドは、非同期ローディングシステムがURLロードを実行している間はブロックされます、とりわけこのロードリクエストに対して生み出されたスレッド上では。特別なスレッディングまたは実行ループ構成設定は、その呼び出しているスレッドにおいては同期的ロードを実行する手段として必要ではありません。
Important 重要
Because this call can potentially take several minutes to complete (particularly when using a cellular network in iOS), you should never call this function from the main thread of your application. Doing so may cause a 0x8badf00d
exception with the main thread at mach
. The solution is to migrate to URL loading using URLSession
.
この呼び出しは潜在的に数分かかって完了する可能性があるため(とりわけセルラーネットワークをiOSで使っている場合に)、あなたは絶対にこの関数をあなたのアプリケーションのメインスレッドから呼び出すべきではありません。そうすることは、0x8badf00d
例外をメインスレッドを使ってmach
で引き起こすかもしれません。解決策は、URLSession
を使うURLのロードに移行することになります。
If authentication is required in order to download the request, the required credentials must be specified as part of the URL. If authentication fails, or credentials are missing, the connection will attempt to continue without credentials. 認証がリクエストをダウンロードするために要求されるならば、要求される資格情報はURLの一部として指定されなければなりません。認証が失敗する、または資格情報が見つからないならば、接続は継続を資格情報なしで試みるでしょう。
Handling Errors in Swift: Swiftでのエラー処理:
In Swift, this method returns a nonoptional result and is marked with the throws
keyword to indicate that it throws an error in cases of failure.
Swiftでは、このメソッドは非オプショナルの結果を返します、そしてthrows
キーワードで印されて失敗の場合にそれがエラーをスローすることを指し示します。
You call this method in a try
expression and handle any errors in the catch
clauses of a do
statement, as described in Error Handling in The Swift Programming Language and About Imported Cocoa Error Parameters.
あなたはこのメソッドをtry
式の中で呼び出して、あらゆるエラーをdo
文のcatch
節で取り扱います、The Swift Programming Languageのエラー処理そしてインポートされるCocoaエラーパラメータについてで記述されるように。