私にとって最大のアプリで最後の問題を解決しようとしています。
このdownloadViewをスクリーンショットに示しています。ここでは、NSURLConnectionを介してWebサーバーからファイル/ドキュメントを非同期でダウンロードしています。
すべてのビューコンポーネント(ダウンロードボタン、progressBarView、abortButton)などが完全に機能します。
ダウンロードが開始されると、プログレスバーが増加し、接続をnilに設定し、データ長をゼロに設定することで、ダウンロードを完全に中止できます。
::私の挑戦的な問題はそれです::
ダウンロードがバックグラウンドで処理され、[戻る]ボタンをクリックしてfirstViewに戻り、次にこのdownloadViewに戻ると、ダウンロードにアクセスできなくなります。もう中止したり監視したりすることはできません。プログレスバーがゼロにリセットされます。ただし、progressBar.progressのNSLogを介してダウンロードが実行されていることを確認できます。
この問題は、ビューを保持してスレッドにアクセスし、「戻る」ボタンを押したときにdownladViewを存続させることに関係していると思います。
書きすぎて申し訳ありませんが、私はこの問題をうまく明確にしようとしています。
これが私がファイルをダウンロードする方法を示すための基本的なコードです。
-(IBAction)downloadButton:(id)sender{
urlLink= @"http://www.example.com/text.pdf";
NSURLRequest *request= [NSURLRequest requestWithURL:[NSURL URLWithString:urlLink] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0];
connectionbook = [[NSURLConnection alloc] initWithRequest:request delegate:self];
}
// using the regular delegate connectino methods
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{}