PhotoScroller et Networking

Bonjour, 

Quelqu'un serait-il capable de m'expliquer la marche a suivre pour adapter le chargement d'image avec AFNetworking sur le sample code apple PhotoScroller.


Pour être plus précise, je souhaiterai avoir un tableau avec une liste d'URL et pouvoir afficher ces images de la même facon que le PhotoScroller, cependant ces dernières seraient chargées uniquement en arrivant sur la page de cette vue.


J'ai, je l'avoue, assez de mal a comprendre ce sample code... :(.


Merci a tous


Réponses

  • Ce serait bien que d'abord tu t'accroches pour bien comprendre le sample code.


    Qu'est ce que tu ne comprends pas précisément ?


  • août 2013 modifié #3

    Tout est pour le coup trop découper.

    En faite, ce code en lui même me semble bien trop foulli pour ce qu'il fait. 

    De plus il est absolument inutilisable en l'état, ou alors il faut que ca soit des images stockées en mémoire, avec le fichier plist associé. Pour quelque chose que l'on veut de dynamique (gallerie photo!) on à  quelque chose de non modulable, super statique, (d'ailleurs ca se voit avec les fonctions placées en static...).


    Je comprend pas pourquoi le datacontroller (PhotoViewController ici) ne passe pas à  l'ImageScrollView les données.

    Ca éviterai d'avoir une fonction static pour savoir la taille de ce que l'on va afficher déjà . Ah et c'est aussi l'idée que je me faisait du datacontroller, que c'est lui qui passe les données a afficher.

    Car au final, c'est le ImageScrollView qui est obligé de vérifier que l'Index passée est inférieur à  la taille du tableau d'image.


    Je sais pas ça me parait sale, très très sale. Après beaucoup semble apprécier, j'ai du louper un truc quelque part.


    Edit: Ah je précise que j'ai supprimé toute la partie Tiling, car pour le coup là , je n'ai vraiment pas compris l'utilité...

  • L'impression de surdécoupage provient d'un style de programmation habituel en POO, où chaque classe doit avoir une responsabilité unique. Ce style facilité la maintenance du code ; il est connu sous l'acronyme de SRP (Single Responsibilty Principle).


    C'est vrai que c'est un peu déroutant au début. Pour chaque classe il faut se poser la question "à  quoi sert cette classe". À mon avis les commentaires en tête de classe devraient répondre à  la question. Et si l'on n'a pas de réponse claire à  la question c'est qu'il y a un problème de conception.


     


    Le code n'est pas destiné à  être "utilisable". Il sert juste à  illustrer le fonctionnement d'une ScrollView imbriquée avec un CATiledLayer. Un CATiledLayer sert à  faire un "zoom" par pas préprogrammés (x2, x4, ...) plutôt qu'un zoom continu comme UIScrollView. Comme indiqué dans la sommaire documentation de l'exemple, cela permet d'améliorer les performances sur des images en haute définition.


    Effectivement cet exemple parait un peu compliqué pour ce que tu veux faire. Il nécessite que soit préparées des images à  différents niveaux de définition, ce qu'en principe tu n'auras pas quand tu téléchargeras tes images depuis Internet.


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