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

initWithResumeData:delegate:path:

Returns an initialized NSURLDownload object that will resume downloading the specified data to the specified file and begins the download. 初期化されたNSURLDownloadオブジェクトを返します、それは指定されたデータを指定されたファイルにダウンロードすることを再開してそのダウンロードを始めます。

Declaration 宣言

- (instancetype)initWithResumeData:(NSData *)resumeData 
                          delegate:(id<NSURLDownloadDelegate>)delegate 
                              path:(NSString *)path;

Parameters パラメータ

resumeData

Specifies the data to resume downloading. ダウンロードを再開するデータを指定します。

delegate

The delegate for the download. This object will receive delegate messages as the download progresses. Delegate messages will be sent on the thread which calls this method. For the download to work correctly the calling thread’s run loop must be operating in the default run loop mode. ダウンロードに対する委任先。このオブジェクトは、委任メッセージをダウンロード進捗として受け取ります。委任メッセージは、このメソッドを呼び出すスレッド上で送られます。ダウンロードが正しく働くためには、呼び出しているスレッドの持つ実行ループは、省略時の実行ループモードで操作されていなければなりません。

The NSURLDownload class maintains a strong reference to this delegate object. NSURLDownloadクラスは、この委任先オブジェクトへの強い参照を保守します。

path

The location for the downloaded data. ダウンロードされたデータに対する位置。

Return Value 戻り値

An initialized NSURLDownload object. 初期化されたNSURLDownloadオブジェクト。

Discussion 議論

If you want to support pausing and resuming downloads, your app must: あなたがダウンロードの一時停止と再開をサポートしたいならば、あなたのアプリがしなければならないのは:

  1. Call deletesFileUponFailure, passing NO. If you want to support resuming downloads in the event of a lost connection, you should do this immediately after you initialize the download object. deletesFileUponFailureを呼び出して、NOを渡します。あなたがダウンロードの再開をある失った接続のイベントにおいてサポートしたいならば、あなたはこれをあなたがダウンロードオブジェクトを初期化する直後に行うべきです。

  2. If your app needs to pause the transfer for any reason, call cancel. Because your app previously called deletesFileUponFailure with NO, the in-progress download is not deleted. あなたのアプリが何らかの理由で転送を一時停止する必要があるならば、cancelを呼び出してください。あなたのアプリが以前にdeletesFileUponFailureNOで呼び出したので、進行中のダウンロードは消去されません。

  3. After your app pauses the transfer or after a transfer error occurs, call resumeData to obtain the data needed to resume the transfer later. あなたのアプリが転送を一時停止した後にまたは転送エラーが起こった後に、resumeDataを呼び出して転送を後で再開するのに必要なデータを入手してください。

  4. If the transfer failed because of a connectivity error, use the SCNetworkReachability API to determine an appropriate time to try again. For details, read SCNetworkReachability. 転送が接続関連エラーのために失敗したならば、SCNetworkReachability APIを使うことで再び試みるのに適した時間を決定してください。詳細として、SCNetworkReachabilityを読んでください。

    If your app explicitly paused the download, wait until it is appropriate to continue the transfer (such as when the user clicks or taps a resume button). あなたのアプリが明示的にダウンロードを一時停止したならば、転送を続けるのに適するまで待ってください(例えばユーザが再開ボタンをクリックまたはタップする時)。

  5. Call initWithResumeData:delegate:path: and pass the resume data blob that it previously obtained in step 3. initWithResumeData:delegate:path:を呼び出して、再開データブロブを渡してください、それは以前に段階3で入手したものです。

See Also 参照

Resuming partial downloads 不完全なダウンロードを再開する

Related Documentation 関連文書