Sauvegarde des données

Bonjour,


 


J'ai crées une petite app qui additionne chaque jours j'additionne mes heures de travail. C'est bien cool, mais quand je quitte l'app j'ai plus riens! Ainsi je voudrais savoir quelle serait le meilleur façon pour sauvegarder le contenue de mes variables. En pratique j'ai crées un tableau tab1, chaque ligne correspond à  un objet qui est définit par sa date et un autre tableau tab2. tab2 contient aussi des objets. Ce dernier est définit par le poste occuper et le nombre d'heures passe sur ce poste.


 


Je ne sais pas si c'est la meilleur solution, mais comme je débute, je découvre tout les jours!


Réponses

  • Il faut sauvegarder le contenu de tes tableaux dans un fichier, puis récupérer ces données depuis le fichier au lancement de l'application.


     


    Le plus simple dans ton cas semble être l'utilisation de la sérialisation.


  • Merci pour ta réponse.


  • Dans un premier temps c'est bien mais j'avoue que plus tard pour pouvoir facilement recouper les données une base SQLite pourrait s'avéré utile par exemple nombre d'heure passé sur le poste 1 du mois de mars au mois de juillet. 


     


    La où la serialisation va te demander de faire des boucles surement un peu lourde pour faire tes calculs une simple requête suffira avec du SQLite.


     


    CoreData permet de faire cela aussi, je ne connais pas trop mais il me semble que c'est assez lourd à  mettre en place pour un petit projet ça ne vaut peut être pas le coup mais a des fins d'apprentissage c'est pas mal de faire le test avec un projet simple.


     


    Dans un autre trip tu peux aussi enregistrer tes données sur une base MySQL ou autre sur un serveur distant et créer un système de communication via webservice 


    avantage :


    - Tu partages tes données avec d'autre système site internet, téléphone, tablette... 


    inconvénient : 


    - il faut un serveur


    - Accès au données en mode connecté


    - Développement web 


    - Il faut penser à  la sécurité (https, authentification...).


     


    Je te dis ça dans une optique d'information il se peut que la serialization soit la meilleur solution dans ton cas car tu n'as pas forcement de besoin justifiant un autre choix, qui sera bien plus complexe à  mettre en place, mais c'est toujours bien de savoir ce qui est faisable.


  • Joanna CarterJoanna Carter Membre, Modérateur
    Mais si tu utilises Swift, c'est pas simple à  faire la sérialisation. C'est plus simple à  utiliser CoreData.


  • Mais si tu utilises Swift, c'est pas simple à  faire la sérialisation. C'est plus simple à  utiliser CoreData.




     


    Pourquoi ce n'est pas simple ? j'utilises Swift et j'archive/désarchive mes données facilement.  


     


    Vu sa question, la demande est juste pour sauvegarder quelques données pour une petite application. La réponse de @jpimbert est la plus appropriée. 

  • AliGatorAliGator Membre, Modérateur
    novembre 2015 modifié #7
    Ou sinon Realm. 100x plus simple que CoreData et t'as juste à  faire hériter ta classe de Realm.Object et tu peux la sauver en base d'un simple save.

    Ray Weinerlich a même mis à  jour récemment son tuto sur le sujet : http://www.raywenderlich.com/112544/realm-tutorial-getting-started
  • SigmaPiSigmaPi Membre
    novembre 2015 modifié #8

    Merci Nasatya et AliGator. Effectivement CoreDate m'a semble trop lourd pour ce petit projet et pour mon niveau actuel.


    Pour le moment j'utilise Objective-C car je trouve plus de documentation. Puis je me dis que passer de l'objective-c au shift devrait être facile.


     


    Realm je ne l'avais pas trouvé celui là !


  • Oh mais c'est que ça a l'air vraiment bien ce truc j'avais pas vu ça. Ali chaque fois que tu écris un post j'apprends au moins un truc... Va me falloir plus de place dans mes disques durs :).


     


    ça tombe bien je suis en train de faire un projet apprentissage Swift qui sera parfait pour tester ça :)


     


    Pour le passage d'Objective-c à  Swift oui c'est plus simple que d'apprendre directement le Swift. Connaitre les deux c'est plutôt bien, de toute façon pour l'instant l'existant est clairement majoritairement de l'Objective-c. 

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