Vai al contenuto





fermat

Download dei file asincrono in ipad

Recommended Posts

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.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti


Rispondi e partecipa alla discusione

Puoi rispondere subito e iscriverti successivamente. If you have an account, sign in now to post with your account.

Ospite
Rispondi a questa discussione...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Crea Nuovo...

Info

Per offrirti il miglior servizio possibile il sito utilizza cookies, anche di terze parti e profilazione. Utilizzando il sito acconsenti al loro impiego. Privacy Policy Termini di utilizzo