Historique

Bonjour,


Pour mon app de lecture/création de QRCode, j'aimerais créé un system d'historique des codes scannés et créés, mais comment faire ?


 


Voici comment cela doit fonctionner, en théorie.


J'ai une liste avec écris tout à  gauche dans chaque cellule : Read / Created et tout à  droite, le contenu comme par exemple "http://facebook.c..." => Le contenu du code scanné.


Je sais comment récupérer ces informations via mon app. 


 


Je pense avoir une idée comment faire cela :


Un .plist, avec une "entrée" pour chaque code scanné ou créé, avec dedans 2 "sous-branches" avec read-created et le contenu du code..


Je pense que c'est logique, mais.. je n'ai jamais utilisé des plist ni des collection view ou table view.


 


Donc grosso-modo ma question : 


 


#1 : Comment ajouter des branches contenant des "sous branches" à  un fichier Plist : Je m'explique 


-- code1


--- (String) : Read


--- (String) : http:://facebook.com/oasis


-- code 2


--- (String) :  created


--- (String) :  Hello John !


En gros, comment répéter ce même "pattern" à  chaque ajout


 


#2  : Comment remplir une Table view avec le dit contenu du fichier plist comme ceci


Read           http:://facebook.com/oasis



Created      Hello John !


Puis quand on clique sur une cellule on obtient ses détails =>Texte complet ou ouverture de l'URL.


 


Si Possible, avez vous des tutos avancé, à  jour, et clairs sur la manipulation des fichiers .plist , des collection view et table view ?


 


Voila, j'espere ne pas en demander trop ^^


 


A Propos de l'app :


QR Pro, permettra avec un design intuitif de lire des QR Code, de Créer et Partager un QR Code, Elle sera payante (1€99 +- ) mais bien concue


 


 


 


Réponses

  • colas_colas_ Membre
    avril 2014 modifié #2

    Bonsoir !


     


    1) les NSArray avec leur fonction -writeTo... te permettent d'enregistrer des arrays de n'importe quoi parmi {NSString, NSArray "valide", NSDictionnary, NSData} où un NSArray "valide" est un NSArray dont les composants sont aussi dans la liste.


     


    2) Il faut que tu créés un objet avec des propriétés et une méthode qui charge un tableau d'objets à  partir de là  où tu as enregistré tes données. Tu peux ensuite utiliser les objets facilement pour les afficher.


     


    2) L'idéal serait que tu t'intéresses à  CoreData. C'est un investissement mais c'est un outil très puissant pour sauvegarder des données.


  • Effectivement les fichier plist sont plus destiné à  stocker des préférences utilisateurs que de véritables données. Core Data reste e plus approprié pour du stockage de données. Tu peux regarder du coté de Magical Record pour plus de simplicité (Ali en a parlé de nombreuse fois sur le forum)


  • Pixel INCPixel INC Membre
    avril 2014 modifié #4

    D'accord :P


    C'est vrai que les .plist ça aurait été assé chaud à  utiliser ^^


    Vous n'avez pas des tuto pour bien débuté à  core data ? et les table view ? ^^


  • Oui, voici un lien pour des tutos vidéo: https://www.youtube.com/playlist?list=PLE83F832121568D36


  • Core Data m'as l'air compliqué, et je trouve pas vraiment de tuto à  jour, en français et bien expliqué, surtout que le projet Xcode existe déjà ..


    D'autres idées ?


  • Si tu trouve core data compliqué essaye de chercher du coté de Magical Record : c'est un framework qui simplifie grandement l'utilisation de core data. Ali a fait une excellente présentation au CocoaHeads de Renne, tu devrais trouver le lien assez facilement sur le forum.


     


    Core data c'est clairement la solution la plus adapté à  ton problème : c'est fait pour ça, mais si tu veux vraiment pas l'utiliser tu peux utiliser une base SQLite en alternative. J'ai jamais pratiqué donc je sais pas trop ce que ça donne mais ça doit marcher.


  • Ouais, je vais essayer de trouver une bonne base de donné facile et pratique, SQLite à  l'air bien.

    Enfait, CoreData, je trouve juste aucun tuto à  jour pour iOS7 et en français bien expliqué


  • Si l'Anglais te bloque alors c'est très dommage parce que c'est omniprésent en informatique !!


    Mets-toi y !!!


  • PS: il y a peut-être une bibliothèque municipale ou universitaire près de chez toi. Sache qu'il y a des livres en Français sur cocoa et cocoatouch. Pour info, CoreData est une techno qui marche à  la fois pour les macs et les iphones.




  • Si l'Anglais te bloque alors c'est très dommage parce que c'est omniprésent en informatique !!




     


    Encore plus pour le dev iOS puisque toute la documentation apple est en anglais.

  • Je connais l'anglais, même dans ce domaine je trouve rien grand chose


  • J'avais fait un peu de CoreData avant, du coup, j'ai peut-être trouvé ça beaucoup plus simple à  comprendre mais :

    http://www.bcharp.fr/2011/02/core-data-episode-i/


  • Je suis encore ouvert au possibilités, mais merci Larme et vous tous ^^


     


    En gros j'aimerais :


    - Ajouter un attribut à  chaque fois qu'un code est lu ou créé


    - Mettre comme titre d'attribut "Read" ou "Created" et en "objet" le contenu du code lu/créé


    - Charger tout les attributs dans une table view avec à  gauche le nom de l'attribut (Read ou Created) et à  droite le contenu


    - Quand je clique sur une cellule cela charge dans une textview ou dans Safari le contenu de la cellule selon son type


  • LeChatNoirLeChatNoir Membre, Modérateur

    ben Go !


    ::)


  • Oui, mais comment faire ? ^^


  • Si tu n'as pas de notions de SQL, ou CoreData :

    Imagines que tu ranges des objets en mémoire, facilement récupérables.


    Donc tu as un objet :

    Code

    Et en properties/ivar : Status (Bool: read/unread), DateCreation:(date), etc.


    Et tu les enregistres/cherches (tu peux chercher aisément ceux qui sont unread, via un NSPredicate, ceux qui sont créés ce mois-ci, etc.)


  • Pixel INCPixel INC Membre
    avril 2014 modifié #18

    Je vais essayer de toucher à  Coredata, mais ici je vais finaliser mon app, la sortir sans ce système et après l'ajouter dans une future mise à  jour, cela retirera la pression de finir l'app le plus vite :P


     


     


    En fait, je sais pas du tout comment m'y prendre, j'ai jamais utilisé de tables SQL, donc je connais rien à  ce domaine c'est pourquoi je m'en sors pas, j'aimerais vraiment faire un système d'historique mais je sais pas dutout comment cela se fait dans les règles de l'art ^^


  • LeChatNoirLeChatNoir Membre, Modérateur


    Oui, mais comment faire ? ^^




     


    Ici, tu trouveras de l'aide sur des problèmes précis. Des difficultés à  utiliser une classe, des soucis d'implémentation d'un algo, etc...


    Eventuellement des questions plus "existentielles" sur une manière d'aborder une problématique, une façon de faire les choses.


     


     


    Mais là , en gros, tu nous dis :


    => que tu n'aimes pas lire l'anglais : c'est un pb car toute la doc Apple est en anglais


    => que tu comprends pas CoreData et les tables Sql : on va pas te l'apprendre ici... C'est bien trop vaste comme sujet


    => et enfin, tu nous dis que tu veux : 


     


    - Ajouter un attribut à  chaque fois qu'un code est lu ou créé


    - Mettre comme titre d'attribut "Read" ou "Created" et en "objet" le contenu du code lu/créé


    - Charger tout les attributs dans une table view avec à  gauche le nom de l'attribut (Read ou Created) et à  droite le contenu


    - Quand je clique sur une cellule cela charge dans une textview ou dans Safari le contenu de la cellule selon son type


     


     Ca fait bcp de choses là . Trop de choses en fait. On va ni te faire ton appli, ni te traduire la doc...


     


    Donc il faut que tu prennes une bonne respiration, que tu découpes tout ça en problèmes plus petits, que tu les ordonnes et priorise et que tu poses éventuellement des questions sur ces mini problèmes. Ca fonctionnera mieux.

  • +1


  • Ici, tu trouveras de l'aide sur des problèmes précis. Des difficultés à  utiliser une classe, des soucis d'implémentation d'un algo, etc...


    Eventuellement des questions plus "existentielles" sur une manière d'aborder une problématique, une façon de faire les choses.


     


     


    Mais là , en gros, tu nous dis :


    => que tu n'aimes pas lire l'anglais : c'est un pb car toute la doc Apple est en anglais


    => que tu comprends pas CoreData et les tables Sql : on va pas te l'apprendre ici... C'est bien trop vaste comme sujet


    => et enfin, tu nous dis que tu veux : 


     


    - Ajouter un attribut à  chaque fois qu'un code est lu ou créé


    - Mettre comme titre d'attribut "Read" ou "Created" et en "objet" le contenu du code lu/créé


    - Charger tout les attributs dans une table view avec à  gauche le nom de l'attribut (Read ou Created) et à  droite le contenu


    - Quand je clique sur une cellule cela charge dans une textview ou dans Safari le contenu de la cellule selon son type


     


     Ca fait bcp de choses là . Trop de choses en fait. On va ni te faire ton appli, ni te traduire la doc...


     


    Donc il faut que tu prennes une bonne respiration, que tu découpes tout ça en problèmes plus petits, que tu les ordonnes et priorise et que tu poses éventuellement des questions sur ces mini problèmes. Ca fonctionnera mieux.




     


    Bon, pas besoin de devenir agressif, tu dis des choses fausses.


    J'aime lire l'Anglais, mais LA AUSSI je ne trouve aucun tuto pour la SDK 7.0 et Core Data qui convient à  ce que je veux faire.


    Je demande pas à  ce que l'on m'apprenne Core Data ni les tables SQL, juste passer un tuto me conviendrais;


     


    Bref, je vais me débrouiller ._.

  • LeChatNoirLeChatNoir Membre, Modérateur

    Où tu as vu de l'agressivité ?


    :o


  • C'est bon :D


     


    J'ai réussi à  faire ce système, ce matin à  tête reposée avec ça http://www.codigator.com/tutorials/ios-core-data-tutorial-with-example/


     


    Quelques bugs dedans mais résolus rapidement, c'est tres facile CoreData en fait ! Si un débutant passe par ici, je lui conseille fortement ! =)


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