Au vu de la maniere dont tu t'exprimes, je crois que c'est toi qui n'as pas compris comment cela fonctionne.
:rateau:
Mais bon, tu es debutant. C'est le metier qui rentre
Au depart, tu as un champs texte, un bouton et un tableau que tu veux utiliser comme ceci, si j'en crois la maniere dont tu presentes les choses au debut:
1. taper du texte dans la case
2. cliquer sur le bouton pour ajouter le texte au tableau
3. et quand tu tapes un nouveau texte, tu cliques encore et le texte s'ajoute sur la ligne suivante dans le tableau
4. puis tu veux sauver cela dans une base SQLite, mais plus tard. quand tu t'y connaitras mieux
Tu penses a l'envers! voila comment cela fonctionne:
1. cliquer sur le bouton. Cela ajoute une ligne vide au tableau.
2. taper le texte dans le champ TextField
3. taper sur Enter et le texte remplira la ligne vide dans le tableau.
Eventuellement, ajouter un deuxieme bouton "Supprimer" pour retirer des lignes du tableau.
Comment proceder? Voici une suggestion, tu en fais ce que tu veux.
1. Cree un nouveau projet. Utilise CORE DATA. Je ne perds plus mon temps a argumenter sur le bien/mal de cette technologie.
2. Dans ton AppDelegate.m, repere "NSXMLStoreType" et remplace par "NSSQLiteStoreType".
3. Dans ton projet il y a un fichier Xcdatamodel. C'est la structure de tes donnees. Ouvre-le.
4. Dedans, cree une nouvelle Entity (c'est la table de tes donnees).
5. Juste a droite, ajoute un Attribute (c'est le champs correspondant a ta colonne dans le tableau. Parametre son type = string. Sauve.
6. Dans Interface Builder (ou toujours Xcode si tu utilises Xcode 4), ajoute a ton fichier XIB un ArrayController que tu parametreras dans l'inspecteur:
=> onglet Attributes:
Mode=Entity
Entity name=nom de l'entity dans ton xcdatamodel
Cocher "Prepares content"
=> onglet Bindings / Parameters:
Bind to "_AppDelegate"
Model Key Path=managedObjectContext
7. Sur la fenetre de ton programme, ajoute un TableView, un TextField et un Button.
Selectionne le button et clic+drag vers l'icone d'ArrayController: choisir "add".
8. Double-clique sur la colonne du tableau. Dans l'inspecteur, onglet Bindings / Value:
Bind to "le nom de ton ArrayController".
Controller Key=arrangedObjects.
Model Key Path="le nom de ton "attribute" dans l'entity que tu as cree (xcdatamodel).
9. Selectionne le TextField. Dans l'inspecteur, onglet Bindings / Value:
Bind to "le nom de ton ArrayController".
Controller Key=selection.
Model Key Path="le nom de ton "attribute" dans l'entity que tu as cree (xcdatamodel).
Sauve et compile.
--- EDIT #1 pour ajout
Xcode cree automatiquement ton fichier SQlite vide. Le nom par defaut est "storedata" (verifier dans le code d'AppDelegate.m).
Si tu modifies ta structure de donnees en cours de projet, quand tu compiles ton prog, il te donne un message d'erreur. Normal. Il faut supprimer le fichier manuellement pour qu'au prochain lancement de ton appli, un nouveau fichier vierge soit recree, selon ta nouvelle structure de donnees.
ton fichier SQLite se trouve dans /Ton_nom/Lirary (Bibliotheque en francais)/Application Support/ton_projet/
--- EDIT #2 CoreData
Apres tout, je vais encore commenter sur ce sujet.
CoreData est une techno inventee par Apple pour simplifier la programmation de donnees. Elle est surtout adaptee aux applications de bases de donnees et ne convient pas a tous les types de programme.
Apple, dans ses seminaires, recommande "vivement" de l'utiliser quand le contexte s'y prete, au lieu de continuer de coder a l'ancienne.
Ne pas l'utiliser, c'est faire comme ces entreprises qui ne veulent pas passer a Windows 7 et preferent rester sous XP parce qu'elles sont trop habituees a Internet Explorer 6. :rateau:
Tout specialement, le debutant a interet a utiliser CoreData car il se trouve face a une montagne de connaissances a maitriser avant de pouvoir obtenir un petit quelque chose de fonctionnel. C'est infernal ! CoreData lui permet de reduire l'intensite de sa migraine
en le dispensant de pas mal de lignes de code. La satisfaction de voir rapidement une petite appli fonctionnelle, en ayant l'occasion de survoler une variete de choses permettant de voir comment une app pour Mac fonctionne, comment on programme avec Xcode, quelles sont les outils et les technologies d'Apple.
Ensuite evidemment, une fois a l'aise avec ces outils, mettre les mains dans le cambouis et faire de l'Objective-C pur et dur, et aussi du C, en grignotant la matiere progressivement.
:zen: