[Résolu] Question architecture !

KaroxysKaroxys Membre
avril 2013 modifié dans Apple Developer Programs #1

Bonjour à  tous,


 


J'ai un petit soucis concernant une application pour un de mes clients.


Je n'ai pas le code avec moi alors je vais essayer d'être clair.


 


Sur la couche la plus basse je récupère via une URL des images en asynchrone grâce au NSURLConnectionDelegate (Objet : ImagesHttpStore). Ensuite, au même niveau j'ai un objet qui stocke dans un fichier un tableau d'image (Objet : ImagesLocalStore).


 


Au niveau au-dessus, je me suis créé un manager (ImagesManager) permettant de récupérer s'ils existent les images en local (ImageLocalStore) afin d'être le plus réactif possible pour l'IHM, sinon je fais une action http (ImageHttpStore). Mes deux stores notifient le manager via KVO.


 


ça marche très bien si je dois récupérer une liste en local ou si je dois récupérer qu'une image via http.


 


Mon problème c'est lorsque je fais une boucle sur ImageHttpStore, là  je télécharge tout le temps la même image n fois suivant la boucle ... Pourtant les idImage, nécessaire pour la requête, sont corrects.


J'ai l'impression que NSURLConnection ne gère pas trop ses queue naturellement ... Mais ça m'étonnerait quand même. J'essaye de vous envoyer le code ce soir.


 


D'ici là  avez un avis ? (Je me doute que c'est compliqué sans le code ... Mais là  je suis à  mon boulot de jour :) )


 


K.


 


Mots clés:

Réponses

  • Je ne sais pas si je comprends bien la chose, mais tu sais qu'il te faut un NSURLConnection par fichier à  télécharger ? Personnellement je me suis fait une lib à  base de NSOperation et de NSThread géré à  la main qui embarque tout le packaging des NSOperation, ce qui me permet d'avoir un système assez simple à  utilisé, respectant les règles d'optimisation pour iOS et l'usage du pipelining sans trop me prendre la tête.


     


    C'est chiant à  écrire à  la base mais en prenant le temps de le faire ça permet un usage très clean d'une API de téléchargement synchrone ET asynchrone ET utilisant la même stack d'opération et les mêmes optimisation dans les deux cas.


  • KaroxysKaroxys Membre
    avril 2013 modifié #3

    Oui tout à  fait. En fait j'ai trouvé mon problème hier soir.


     


    Ce que je faisais, c'était un appel à  la classe ImageHttpStore dépendant de NSURLConnectionDelegate pour chaque image que j'ai besoin.


    Mais je pense qu'à  un moment le système partait dans les choux ...


     


    Je me suis géré moi même les appels avec GCD et ça marche nickel maintenant.


     


    K.


  • avril 2013 modifié #4

    Merci de faire attention à  ce que tu écris :) J'ai effacé la dite ligne. Même si c'est un peu utilisé comme une "expression", ça peut quand même offenser des gens.


     


    Aussi, si ton problème est résolu, tu peux modifier le titre du topic et y ajouter [résolu]


  • OOups ......... Vraiment Désolé .....


     


    Je n'ai pas pensé à  ce problème en écrivant le post .... J'aurais dû réfléchir un peu plus ...


     


    Question : Comment on modifie le topic ? Je n'arrive pas à  trouver le bouton modification qui va bien.


     


    K.


  • walslayerwalslayer Membre
    avril 2013 modifié #6

    Pour cela tu vas sur le premier post de ton fil de discussion et tu fait modifier puis utiliser l'éditeur complet. Normalement tu pourras faire la modification.


  • avril 2013 modifié #7

    OOups ......... Vraiment Désolé .....


     


    Je n'ai pas pensé à  ce problème en écrivant le post .... J'aurais dû réfléchir un peu plus ...


     


    Question : Comment on modifie le topic ? Je n'arrive pas à  trouver le bouton modification qui va bien.


     


    K.


    C'est pas grave, moi même ça m'arrive d'utiliser cette expression, mais j'évite de le faire en public :P


    Pour le topic, walsayer t'as donné la bonne réponse


Connectez-vous ou Inscrivez-vous pour répondre.