Question

Je voudrais montrer une barre de progression indiquant la quantité d'un fichier a été téléchargé dans mon application iPhone. Je sais comment mettre en place le UIProgressView dans IB et tout cela. Mais j'ai besoin des données telles que la taille du fichier en octets pour l'exécuter. Comment puis-je sur l'intégration de cette fonctionnalité avec mon code octet de téléchargement (ci-dessous)?

- (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);
}
Était-ce utile?

La solution

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

Je recommande vraiment au moins vérifier. Il fait ce genre de choses très simple sur l'iPhone et je l'utilise pour mes applications. Il va faire des connexions synchrones et asynchrones, traite les cookies et l'authentification, et fait composer les requêtes POST vraiment simple. Il a également construit dans la file d'attente du réseau.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top