Faire un enregistrement
adriker -apple-news.fr-
Membre
Bonjour. J'aimerais savoir comment faire des enregistrements et les réutiliser lors d'une exécution suivante. Comment faire ?
Merci d'avance !
Merci d'avance !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
http://developer.apple.com/cocoa/coredatatutorial/index.html
pour apprendre rapidement à créer une appli de gestion d'enregistrements.
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.
http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/Reference/Reference.html#//apple_ref/occ/instm/NSData/initWithContentsOfFile:
http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/Reference/Reference.html#//apple_ref/occ/instm/NSData/writeToFile:atomically:
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 ?
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:
[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 ^^
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.
Ce qui ne va pas c'est qu'il y a des grosses lacunes en Objective-C là ???
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 ?
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.
Alors tu devrais essayer " Cocoa par la pratique " d'Aaron Hillegass !