Partage
  • Partager sur Facebook
  • Partager sur Twitter

[IOS] Utilisation du framework CoreData

    6 février 2013 à 19:29:25

    Bonjour à tous les Zéros!

    Je suis actuellement en train de développer une petite application Iphone, et je dois utiliser le framework CoreData afin de stocker des données persistantes dans l'Iphone.

    J'ai trouvé quelques tutoriels (français/anglais) mais rien de concluant (ou alors, j'ai cherché au mauvais endroits!)

    Bref, en gros, j'ai un bouton "+" en haut de l'écran qui me redirige vers une vue (via Navigation Controller). Sur cette vue, j'ai un TextField qui me permet d'entrer un nom, puis un bouton ajouter, rien de bien chinois jusqu'à présent.

    Comme vous l'avez deviner, lorsque j'appuierai sur le bouton "Ajouter", le nom de la personne sera enregistrer dans l'Iphone en utilisant CoreData.

    Ceci est une chose, l'autre, c'est que sur la première vue de mon Navigation Controller (et donc celle ou il y a le petit "+" en haut à droite), j'ai un UITableView sur lequel j'ai la liste des noms déjà ajoutés.

    Avez-vous une idée de comment procéder ? On m'a parler de SQlite, mais je ne peux pas l'utiliser ^^

    Merci de votre aide ;)

    • Partager sur Facebook
    • Partager sur Twitter
      6 février 2013 à 23:48:47

      CoreData est une surcouche à SQLite.

      Pour ton problème tu dois ajouter une entity 'Personne' dans ton coreData.
      Ensuite tu utilises les methodes qui sont fournis par Apple pour créer/sauvegarder une Personne.

      Pour ta tableView il y a une classe qui est fournis par Apple et qui gère pour toi le rafraichissement de ta tableview si tu ajoute/modifie/supprime un objet dans ton coredata, en plus d'avoir de bien meilleures perfs qu'un simple NSArray. Voici un tuto qui t'explique comment procéder:

      http://www.raywenderlich.com/999/core-data-tutorial-how-to-use-nsfetchedresultscontroller

      Si tu es néophyte je te conseille d'abord de commencer par:
      http://www.raywenderlich.com/934/core-data-on-ios-5-tutorial-getting-started

      • Partager sur Facebook
      • Partager sur Twitter
        21 février 2013 à 14:29:09

        Utilise SQLite ou une librairie qui permets de faire une surcouche (https://github.com/ccgus/fmdb)

        Le problème avec CoreData c'est que dès que tu veux changer ta base de données parce que t'as oublié un truc, c'est la merde.

        • Partager sur Facebook
        • Partager sur Twitter
        Si mon aide vous a été utile, merci de mettre le sujet en résolu et mettre mon post en avant. Cheers!
          21 février 2013 à 14:46:01

          tamagoutchi a écrit:

          Utilise SQLite ou une librairie qui permets de faire une surcouche (https://github.com/ccgus/fmdb)

          Le problème avec CoreData c'est que dès que tu veux changer ta base de données parce que t'as oublié un truc, c'est la merde.

          Non, il existe des outils pour te simplifier la migration en codeData.





          -
          Edité par Horiel 21 février 2013 à 14:47:11

          • Partager sur Facebook
          • Partager sur Twitter
            21 février 2013 à 16:31:07

            Je parlais plus quand tu modifiais un truc dans la base de données t'es obligé de changer plein de chose (surtout par exemple si ya des liens inter-tables) dans les .m dans le fichier model ; bref c'est lourd. Pas vraiment de migration de base de données.

            Surtout si c'est pour faire un truc simple avec 3 tables autant utiliser SQLite. Dans ma boite ça fait un moment qu'on a laissé tomber CoreData (on doit utiliser 6-9 tables max)

            Après ça reste un débat on en rentre pas là dedans mais je pense c'est la solution la plus simple. De toute façon apparemment il peut pas l'utiliser.

            • Partager sur Facebook
            • Partager sur Twitter
            Si mon aide vous a été utile, merci de mettre le sujet en résolu et mettre mon post en avant. Cheers!

            [IOS] Utilisation du framework CoreData

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown