2010-02-05 4 views
0

Je voudrais montrer une barre de progression indiquant combien d'un fichier a été téléchargé dans mon application iPhone. Je sais comment configurer UIProgressView dans IB et tout ça. Mais j'ai besoin de données telles que la taille du fichier en octets pour l'exécuter. Comment puis-je intégrer une telle fonctionnalité avec mon code de téléchargement d'octets (illustré ci-dessous)?Comment afficher un UIProgressView pour un téléchargement dans mon application?

- (void)connection:(NSURLConnection *)theConnection didReceiveData:(NSData *)data 
// A delegate method called by the NSURLConnection as data arrives. We just 
// write the data to the file. 
{ 
#pragma unused(theConnection) 
    NSInteger  dataLength; 
    const uint8_t * dataBytes; 
    NSInteger  bytesWritten; 
    NSInteger  bytesWrittenSoFar; 

    assert(theConnection == self.connection); 

    dataLength = [data length]; 
    dataBytes = [data bytes]; 

    bytesWrittenSoFar = 0; 
    do { 
     bytesWritten = [self.fileStream write:&dataBytes[bytesWrittenSoFar] maxLength:dataLength - bytesWrittenSoFar]; 
     assert(bytesWritten != 0); 
     if (bytesWritten == -1) { 
      [self _stopReceiveWithStatus:@"File write error"]; 
      break; 
     } else { 
      bytesWrittenSoFar += bytesWritten; 

     } 
    } while (bytesWrittenSoFar != dataLength); 
} 

Répondre

2

Vous pouvez afficher un octet montrent par octet vue de progression si vous passez à l'aide de la bibliothèque ASIHTTPRequest.

Je vous recommande vraiment au moins vérifier. Cela rend les choses très simples sur l'iPhone et je l'utilise pour toutes mes applications. Il fera des connexions synchrones et asynchrones, traitera les cookies et l'authentification, et rendra la composition des requêtes POST très simple. Il a également une file d'attente réseau intégrée.

http://allseeing-i.com/ASIHTTPRequest/

+0

Naaaah ... J'ai mes affaires déjà mis en place mostly..Don't veux aller là-bas encore et commencer à changer des choses. Merci quand même ... Est-ce que je peux obtenir la taille du fichier sur le serveur (en octets)? De cette façon, je peux utiliser un UIProgressView – RexOnRoids

Questions connexes