Si vous utilisez NSURLConnection
, il fonctionne exactement de la même façon quel que soit le type du fichier.
Exemple: (dactylographié hors de ma tête, aucune garantie que cela fonctionne de cette façon et vous devez évidemment mettre en œuvre le contrôle d'erreur)
- (void) download
{
self.loadedData = [NSMutableData data]; // make 'loadedData' a property of the class
NSURL *url = [NSURL URLWithString:@"http://..."];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:20.0];
[urlRequest setValue:@"Optional User Agent" forHTTPHeaderField:@"User-Agent"];
// shoot it off
NSURLConnection *mainConnection = [NSURLConnection connectionWithRequest:urlRequest delegate:self];
if (nil == mainConnection) {
NSLog(@"Could not create the NSURLConnection object");
}
}
Ensuite, vous devez gérer les données entrantes dans le délégué méthodes, par exemple à simplement enregistrer vos données:
- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[loadedData appendData:data];
}
Jetez un oeil à d'autres méthodes les délégués et les mettre en œuvre, vous devez faire face aux défis de l'échec des réponses et authentification. Vous pouvez également par exemple définir:
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
dans connection:didReceiveResponse:
et le mettre à nouveau en NO
connectionDidFinishLoading:
.
Bonjour Pascal, Merci pour ce code. ça fonctionne pour moi. et je sauve simplement le nsdata dans le dossier pendant que je sauve d'autres dossiers (png, txt, xml). – Rupesh
@rupesh pouvez-vous partager votre code, comme je suis également à la recherche d'exemple simple – Pooja