0

この投稿に類似した質問がありますASIHTTP非同期pdfダウンロード

setTemporaryFileDownloadPathを使用してダウンロードを再開します:しかし、奇妙なことに、setDelegateを呼び出して接続を非同期で開始すると、キャッシュはそれをtemporaryFileDownloadPathに保存しませんが、代わりにsetデリゲートをマークすると、キャッシュはパスに保存されます。

    _conn = [[ASIHTTPRequest alloc] initWithURL:_currentURL];
    [_conn setDownloadDestinationPath:_currentFileNameWithPath]; 
    [_conn setTemporaryFileDownloadPath:tempPdfLocation];     
    [_conn setAllowResumeForFileDownloads:YES];
    //[_conn setDelegate:self];
    [_conn startAsynchronous];

-(void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data:が呼び出されると、キャッシュが保存されないことがわかりました。何か案が?

4

1 に答える 1

0

同じものを使いました。唯一の違いは、次のセレクターを設定する必要があったことです。

[_conn setDidFailSelector:@selector(downloadDidFail:)];
[_conn setDidFinishSelector:@selector(downloadDidFinish:)];
[_conn setDidStartSelector:@selector(downloadDidStart:)];

ASIHTTPRequestDelegateまた、プロトコルでオプションとして指定されている他のデリゲート メソッドを実装しないでください。これで、ダウンロードは完全に機能し、必要に応じてセット セレクターが呼び出されます。

于 2011-06-20T12:13:42.093 に答える