Créer un gestionnaire de DLs
Bonjour à tous,
Voilà , j'aimerai construire un petit gestionnaire de téléchargement (comme celui de Safari).
Je n'ai pas vraiment de piste sur la façon de faire...
Mis à part qu'il faut NSURLDownload, que j'utilise déjà mais qui ne gère qu'un téléchargement à la fois ???
Donc pour l'instant je me questionne sur le "comment gérer plusieurs téléchargements"
Merci à tous
Voilà , j'aimerai construire un petit gestionnaire de téléchargement (comme celui de Safari).
Je n'ai pas vraiment de piste sur la façon de faire...
Mis à part qu'il faut NSURLDownload, que j'utilise déjà mais qui ne gère qu'un téléchargement à la fois ???
Donc pour l'instant je me questionne sur le "comment gérer plusieurs téléchargements"
Merci à tous
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
- tu fais du multithread et dans chacune des threads, tu fais un download. Le point compliqué est surtout pour tenir à jour l'affichage dans le gestionnaire de téléchargement.
- tu crées des NSTask dans lesquelles tu lances des outils en ligne de commande, comme curl (fourni d'office).
J'ai réussi .. sauf que j'arrive pas à gérer la progression  :kicking:
En fait, la progression devient la même pour tous les DLs.. j'en déduit que ça vient de mon NSURLResponse :
J'ai pourtant fait comme ds la doc apple
Edit : J'ai trouvé à ma façon
:)beta:
Cette gestionnaire sera inclu ds iFreete (voir la partie logiciels de OC)
Le problème c'est que j'arrive pas encore à créer une pause
Pourtant je récupère le NSURLDownload du fichier sélectionné ds le tableau, je récupère le data grâce à [monDownload resumeData]
mais quand je veut ajouter ce data ds mon dico, il dit qu'il est nil.
Pourtant si je fait
Faudrait p'têt mettre ==, aussi, non ? ;D
+
Chacha
if(data)
{
[monDico setObject:data forKey:@DataKey];
}
else
{
NSLog(@data == nil);
}
Moi j'écrirais
Parce qu'à la lecture du code, c'est plus facile à lire (pour moi), dans le sens où je commence par me débarrasser du cas dégénéré en 1 ou 2 lignes, et qu'ensuite je peux me concentrer sur le code utile.
En fait, ce que je n'aime pas, c'est quand on lit quelques lignes de code, qu'on tombe sur un "else", et qu'on ne sait même plus quel était le if.
Bon, là , la question ne se pose pas trop, vu que les deux cas font une ligne chacun, mais c'est un principe.
Voilà , c'était une remarque à la chacha... Désolé !
+
Chacha
Parce que contrairement à [tt]setObject:forKey:[/tt], [tt]setValue:forKey:[/tt] permet d'avoir [tt]nil[/tt] comme premier argument, auquel cas il exécute [tt]removeObjectForKey:[/tt]
Sinon Chacha, tu es sûr que ça va?
Tu annonces une intention de troller, ce qui ne te ressemble déjà pas. Mais ce qui dépasse le plus mon entendement est que tu as utilisé des smileys dans 2 posts le même jour.
Ouaip, t'as raison, mais je crois que j'avais un léger manque de sommeil qui traà®nait. Nan, en fait, le mieux, c'est de faire croire qu'on a usurpé mon identité. Mais que fait la police ?
+
Chacha