を使用していくつかのファイルをダウンロードしようとしていますNSURLConnection
:
- (void)startDownload {
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
[req addValue:@"Basic XXXXXXXXXXXXXX=" forHTTPHeaderField:@"Authorization"];
connection = [[NSURLConnection alloc] initWithRequest:req delegate:self startImmediately:YES];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*)response {
filepath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:save_name];
[[NSFileManager defaultManager] createFileAtPath:filepath contents:nil attributes:nil];
file = [[NSFileHandle fileHandleForUpdatingAtPath:filepath] retain];
[file seekToEndOfFile];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[file seekToEndOfFile];
[file writeData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection*)connection {
[file closeFile];
}
私のファイルは非常に大きいので、ダウンロードしたすべての部分をディスクに保存する必要があり、それらを RAM に保存することはできません。問題は、複数のダウンロードをどのように処理できるかということです。
前回のダウンロードが で終わってから次のダウンロードを開始しようと考えていましたが- (void)connectionDidFinishLoading:
、それは最善の方法ではないようです。助言がありますか?