Faire un enregistrement

08:52 modifié dans API AppKit #1
Bonjour. J'aimerais savoir comment faire des enregistrements et les réutiliser lors d'une exécution suivante. Comment faire ?

Merci d'avance !  ;)

Réponses

  • schlumschlum Membre
    08:52 modifié #2
    Voir la doc de la classe NSUserDefaults...
  • uocramuocram Membre
    08:52 modifié #3
    Ou aller à  cette adresse où se trouve un tutorial vidéo (en anglais mais facile à  comprendre) :
    http://developer.apple.com/cocoa/coredatatutorial/index.html
    pour apprendre rapidement à  créer une appli de gestion d'enregistrements.
  • 08:52 modifié #4
    Merci, je vais voir cela  ;)
  • 08:52 modifié #5
    Rebonjour !

    Je vais pas vous mentir, j'arrive pas à  le faire. Sur vb.net, j'enregistrais mes données dans un fichier texte.

    Ce que je voudrais faire, c'est enregistrer le contenu de deux variables (poids de départ, poids visé, date) et pouvoir les réutiliser (les afficher dans une textbox, dans un label..., faire des calculs avec ect ...). Tous cela dans mon application cocoa, dans une autre form.
  • 08:52 modifié #7
    Si vous voulez, j'aimerais créer un tableau à  trois champs, l'enregistrer pour pouvoir s'en reservir après, pour traiter les données.

    Sur vb.net, j'enregistrais mes données avec une syntaxe spécifique par exemple :

    FileOpen(1, "C/......" , OpenMode.Output)
    dim a as string = "Bruno"+"//"+"Jean"+"//"+Marc"
    PrintLine(1, a)

    Après, je ressortais mes données pour les mettre dans un tableau, chaque champ est séparé par // ex :

    Mon Tableau

    Case 0 : Jean Case 1 : Bruno Case 2 : Marc

    Après je pouvais faire des calculs, afficher les résultats dans des textbox ect ex :

    textbox1.text = montableau(0).text

    Est-il possible où y a t-il un moyen plus simple, plus élégant pour arriver au même résultat sous cocoa ?

  • MalaMala Membre, Modérateur
    08:52 modifié #8
    dans 1224864962:

    Est-il possible où y a t-il un moyen plus simple, plus élégant pour arriver au même résultat sous cocoa ?


    Oui, utiliser des objets de Cocoa qui ont la particularité d'être sérialisable pour s'écrire et se lire sous forme de fichier xml plist.

    Un exemple:
    <br />&nbsp;  // Creer un tableau <br />&nbsp; &nbsp; NSMutableArray *monTableau = [NSMutableArray array];<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; // Mettre les données<br />&nbsp; &nbsp; [monTableau addObject:@&quot;Jean&quot;];<br />&nbsp; &nbsp; [monTableau addObject:@&quot;Bruno&quot;];<br />&nbsp; &nbsp; [monTableau addObject:@&quot;Marc&quot;];<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; // Lire une donnée<br />&nbsp; &nbsp; NSLog([monTableau objectAtIndex:0]);<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; // Ecrire le fichier <br />&nbsp; &nbsp; [monTableau writeToFile:@&quot;/test.plist&quot; atomically:YES];<br />
    
  • 08:52 modifié #9
    Merci infiniment !  :o
  • 08:52 modifié #10
    NSCalendarDate* now = [NSCalendarDate calendarDate];
    [now dateByAddingYears:0 months:mois days:0 hours:0 minutes:0 seconds:0];

    NSNumber* imc25num = [[NSNumber alloc] init];
    NSNumber* poidsNum = [[NSNumber alloc] init];
    [imc25num numberWithInt:imc25];
    [poidsNum numberWithFloat:poids];


    NSMutableArray* monTableau = [NSMutableArray array];
    [monTableau addObject:poidsNum];
    [monTableau addObject:imc25num];
    [monTableau addObject:now];
    [monTableau addObject:poidsNum];
    [monTableau writeToFile:@/enregistrement.plist atomically:YES];

    Qu'est ce qui ne va pas ? Ne vous moquez pas de moi ^^ :)
  • laurrislaurris Membre
    08:52 modifié #11
    dans 1224929012:

    Qu'est ce qui ne va pas ? Ne vous moquez pas de moi ^^ :)


    Moi je me moque pas. Mais le debugger , est-ce que ça le fait marrer, ou pleurer ? Il doit savoir lui.

    Ne pas oublier que numberWithInt: est une méthode de classe donc [num numberWithInt:int] est incorrect et en plus c'est un constructeur donc pas la peine d'initialiser NSNumber avant.
  • schlumschlum Membre
    octobre 2008 modifié #12
    dans 1224929012:

    NSCalendarDate* now = [NSCalendarDate calendarDate];
    [now dateByAddingYears:0 months:mois days:0 hours:0 minutes:0 seconds:0];

    NSNumber* imc25num = [[NSNumber alloc] init];
    NSNumber* poidsNum = [[NSNumber alloc] init];
    [imc25num numberWithInt:imc25];
    [poidsNum numberWithFloat:poids];


    NSMutableArray* monTableau = [NSMutableArray array];
    [monTableau addObject:poidsNum];
    [monTableau addObject:imc25num];
    [monTableau addObject:now];
    [monTableau addObject:poidsNum];
    [monTableau writeToFile:@/enregistrement.plist atomically:YES];

    Qu'est ce qui ne va pas ? Ne vous moquez pas de moi ^^ :)


    Ce qui ne va pas c'est qu'il y a des grosses lacunes en Objective-C là    ???

    NSCalendarDate* now = [[NSCalendarDate calendarDate] dateByAddingYears:0 months:mois days:0 hours:0 minutes:0 seconds:0];<br />	// ...<br />	NSNumber* imc25num = [NSNumber numberWithInt:imc25];<br />	NSNumber* poidsNum = [NSNumber numberWithFloat:poids];
    
  • 08:52 modifié #13
    Oui, des grosses lacunes il y en a  :( J'ai commencé l'objective-C il y a deux mois, et j'ai 14 ans.
    Je me suis lancé dans ce projet pour apprendre  ;)

    Fin bref, j'ai rectifié. Juste une question, une fois mes données enregistrées, comment fais-je pour les récupérer dans le fichier plist ?

  • Philippe49Philippe49 Membre
    08:52 modifié #14
    dans 1224934655:

    Oui, des grosses lacunes il y en a   :( J'ai commencé l'objective-C il y a deux mois, et j'ai 14 ans.
    Je me suis lancé dans ce projet pour apprendre  ;)



    dans 1224934655:
    Juste une question, une fois mes données enregistrées, comment fais-je pour les récupérer dans le fichier plist ?

    NSArray * array=[NSArray arrayWithContentsOfFile:@/enregistrement.plist];

    En fait, il serait bon de localiser ton enregistrement soit dans le bundle, soit dans un répertoire contenu dans la librairie de l'utilisateur, parce que là  pour l'instant il est à  la racine de ton système de fichiers.
  • schlumschlum Membre
    08:52 modifié #15
    dans 1224934655:

    Oui, des grosses lacunes il y en a   :( J'ai commencé l'objective-C il y a deux mois, et j'ai 14 ans.
    Je me suis lancé dans ce projet pour apprendre  ;)


    Alors tu devrais essayer " Cocoa par la pratique " d'Aaron Hillegass !
Connectez-vous ou Inscrivez-vous pour répondre.