私はこのコードを使用して、複数のファイルをダウンロードしてディスクに書き込むために配列をループします。複数のファイルをダウンロードするAFnetworking
-(void)download
{
//set url paths
for (NSString *filename in syncArray)
{
NSString *urlpath = [NSString stringWithFormat:@"http://foo.bar/photos/%@", filename];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlpath]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:filename];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Successfully downloaded file to %@", path);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
[operation start];
が、問題は、各ファイルが行われた後、それは(それがすべき)、成功ブロックを呼び出しますが、私はちょうどいくつかのデータをリロードし、進捗状況HUDを終了するために戻って1つの最後の呼び出しが必要です。
正しい方向のポインタがあればいいでしょう。
こんにちは、 どこでこの機能を呼び出しますか? AppDelegateまたは特定のコントローラでは? また、ダウンロードが完了する前にアプリが終了した場合はどうなりますか? ありがとう、 – manishKungwani