Vai al contenuto

Download dei file asincrono in ipad


fermat

Messaggi raccomandati

ciao!

sto sviluppando una app per ipad.

alla pressione di un bottone dovrebbe scaricare 5 file da un server remoto.

ho creato una classe per il download con questo metodo:

+ (void)download:(NSString *)file {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSURL *url = [NSURL URLWithString:[@"http://www.sito.it/" stringByAppendingString:file]];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    NSString *strFile = [documentsDirectory stringByAppendingPathComponent:file];
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    [operation setOutputStream:[NSOutputStream outputStreamToFileAtPath:strFile append:NO]];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"Successfully downloaded file to %@", strFile);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    }];
    [[NSOperationQueue mainQueue] addOperation:operation];
}

poi nel controller:

- (IBAction)actionDownload:(id)sender {
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
    dispatch_async(queue, ^{
        [Download download:@"last_entries.json"];
        [Download download:@"last_releases.json"];
        [Download download:@"causali.json"];
        [Download download:@"conti.json"];
        [Download download:@"gps.json"];
    });
}

il tutto funziona, ma volevo capire se stavo facendo bene.

sto cercando di seguire le linee guida, ma a dire il vero non capisco fino a che punto faccio giusto.

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...