UITableView et custom id
Bonjour,
Voila un moment que je cherche, je me decide a venir vers vous
Je suis actuellement en train de creer une table view qui me permettras ensuite d'aller vers un autre table view (différente selon la ou on clic) acttuelement elle fonctionne j'affiche mes donner comme il faut mon probleme c'est que quand on clic j'aimerais bien s'avoir ce que l'utilistaur a choisi j'arrive a faire remonter le champ text mais j'aurais besoins que ce soit un id que j'ai défini (mes donnée arrive en json) je récupere en faite deux colonne une avec les titre des champ et l'autre avec les id au quelle il corresponde mais j'arrive pas a ajouter l'id dans la var "cell" je vous partage mon code pour un coup de main
en fait je voudrais creer une variable dans chaque "cell" avec comme parametre le tableau _idtable et la récupere dans "- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath"
Merci d'avance, Cordialement
https://www.dropbox.com/s/nrpydsnsqbskb3x/listFromViewController.h
https://www.dropbox.com/s/vivt27fdz9675i3/listFromViewController.m
Modérateur: sujet déplacé, merci de poster dans la bonne section.
Réponses
Ok je penses que tu te prends la tête pour rien. N'essais pas de modifier la structure de ta cell pour ça. Dans le "array" que tu as en datasource de ton tableView tu dois faire en sorte de mettre le champs texte mais aussi l'id que tu souhaite récupérer tu peux faire en sorte par exemple de créer un model MonObjet qui contiendra ton champs texte et ton id et d'en faire un array.
Comme ça dans ta cell tu fera un
et dans ton didSelectRow tu pourras faire un
Comme ça tu as accès à tous ce que tu veux dans ton didSelectRow.
A noter que tu peux aussi faire ça à base de dictionnaire inclus dans des arrays ça fera plus ou moins la même chose à la fin.
Du coup, tu peux ajouter n'importe quels @propertys à la sous-classe
Premièrement merci pour vos réponses.
Deuxièmement je regarde ca demain dès que j'arrive au boulot.
Troisièmement un grand merci je vous tiens au courant.
Bonjour,
Il me dit : No visible @interface for 'cellListFormView' declares the selector 'initWithDictionary:'
je vous donne le fichier qui contiens mon objet que je viens de creer
https://www.dropbox.com/s/1weormcfzchabzs/listFormViewController.m
J'ai trouver pour l'erreur je l'avais creer en NSObject et non en NSDictionary
C'est parce qu'il faut créer la méthode 'initWithDictionary' fait attention au convention de nommage 'cellListFormView' c'est une classe tu devrais mettre une majuscule 'CellListFormView'
Sinon il faut le créer en NSObject
Un truc dans le genre
Dans le .h
Dans le .m
Si je peux te renseigner, la syntaxe pour accéder les dictionnaires est devenue plus facile :
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/FoundationTypesandCollections/FoundationTypesandCollections.html#//apple_ref/doc/uid/TP40011210-CH7-SW22
... et les paragraphes suivants
Désoler je voit pas dutout ou je lui donne mes variable vu que l'objet je lui donne aucune info comment il peut les récipere ?
Ok je vois le souci.
Pour moi ton _recept est une liste de dictionnaire contenant toutes les données que tu souhaites utiliser une version du coup plus simple pour ce que tu veux faire (bien que les models soit quand même pas mal) ça serait ça.
Dans ton cellForRow
Et dans ton selectedRow
Après à voir si tu as bien un array de dictionary dans recept il faut adapter un peu tout ça mais bon le problème est simple dans ton recept tu as toutes les données que tu veux si elles ne sont pas facilement accessible alors tu dois les arranger autrement (création de model ou arrangement dans un dictionnaire ou autre si tu vois une autre solution simple) et puis les relire directement dans les méthodes delegate et datasource de ton tableView.
du coup je peut copier directement ton code ?
La javoue que ca fait un moment que je tourne dessus (plusieurs jour a plein temps) et ca commence a me rendre un peut fou donc j'aimerais vite le coucher ce truc de galère (UITableView)
Mon code n'est pas sous license si c'est la question ::) après est ce que ça fera ce que tu veux je sais pas il faudrait au moins que j'ai le log de ton _recept pour savoir ce qu'il contient et être un peu plus sur que ça fonctionne. Mais dans le principe ça doit le faire si tu change les clés du dictionnaire évidemment.
je te transmet tout comme ca ce seras nikel
donc dans un premier temps les fichier
https://www.dropbox.com/sh/obgl0mvxrm96gl4/AAAThpX84njlm-YZNwMgJeV3a
dans un deuxième temps les log parceque il me fait une erreur dans les tableau assez bizzare
je comprend pas trop deja pourquoi il me fait de tel requete sur la BDD
de plus il semple que le fullList reste vide
Un grand merci pour ton coup de main la je craque
Bon j'ai enlevé ce que je pensais en trop et changé le count dans les datasource c'est plus logique comme ça. J'ai ajouté un NSLog sur recept si tu peux me log parce que sans ça il ne sera pas facile de t'aider plus.
Bon courage
https://www.dropbox.com/s/6b59x7jd5f3etbu/listFormViewController.m
il me sort une erreur sur les tableau
Je sais pourquoi il fait l'erreur sur le tableau c'est parce qu'on essai de lire dans un dictionary alors que c'est un array c'est pas super grave on arrangera ça plus tard désolé de t'embêter avec les log mais est ce que tu peux m'envoyer en même temps ceux de
_recipes et _idtable s'il te plait... Parce que je penses que pas que chercher directement dans _recep soit une bonne idée finalement
a quelle moment tu veut les récupère ?
Le coup des deux where aussi je trouve ca super bizarre aucun moment je lui demande de me les faire du coup il doit avoir en plus des résultat de requête erronée
Ben au même moment que mon log pour le _recep.
Par contre as tu bien lu la documentation pour DBAcess je trouve pas plus de documentation que ça... J'ai trouvé un framework mais je suis pas sur que ça soit celui que tu utilise.
Et dans tout ça c'est quoi que tu veux récupérer?
DBAcess c'est moi qui l'est écrite
https://www.dropbox.com/s/z049xe4vgw49210/DBAccess.h
https://www.dropbox.com/s/h4f1iqft5hjqrrw/DBAccess.m
je veut juste récupere le titre pour l'affichier et l'id qui est extrait lui aussi de la BDD
Je me demande quand même si avant de réparer ta classe tu ferais pas mieux de mieux comprendre ton outil DBAccess pour qu'il te renvoie des objet plus exploitable. Parce que la on finira bien par t'afficher ce que tu veux mais je te garantie pas que ça soit simple maintenable et surtout robuste.
Oui mais quel titre y en à partout title = \"Nom et pr\\U00e9nom\", title = \"Choisir une photo\", title = \"demo 2\" et ça juste dans la même ligne.
Ok alors suivant le tableau j'imagine que c'est demo2 et l'id 1 par exemple. Ok.
ouais c'est noramle j'ai besoins de le garder comme ca c'est pour mes json derière
Exactement je veut qu'il m'affiche en faite Demo2 dans la liste et quand je clic il me renvoie 1 en gros son id vu que il est possible quelle est le meme nom je peut pas check avec le nom
Ok essais ça https://www.dropbox.com/s/ncktnvu14wg7vmt/listForm.zip je penses que ça devrait le faire.
Regarde bien c'est juste une gestion de NSArray rien de bien méchant et surtout renomme cette classe avec une majuscule ça fait vraiment mal aux yeux.
Et pour ta classe tu fais une belle classe qui te ramene un beau model facilement utilisable dans ton model tu ajoutes une méthode toDictionary qui transforme ton model en dictionnaire et puis avec la méthode du sdk apple tu le transforme en json comme ça tu as un objet facilement utilisable dans ton application qui a la capacité de devenir un json en temps voulu.
il me sort des erreur que je voit pas trop comment résoudre
en tout k un gros merci de m'aider
Alors deux chose c'est vrais qu'aujourd'hui on a plus l'habitude de voir des variables déclarés avec des property
@property (nonatomic, strong) NSString *cmpTitle;
@property (assign) int cmpId;
Ensuite as tu déjà renommé la classe?
Est tu sur qu'elle soit référencé dans ton code?
L'erreur est clair le compilateur ne trouve pas les objets dans ta classe alors soit il voit pas la classe soit il voit pas les objet dedans le tout est de faire des tests.
J'ai prit tout les fichier que tu ma renvoyer et j'ai tout mit dedans donc normalement pas de souci et mon id est en NSString et j'aimerais le garder comme ca
allors du coup je l'est passer en NSString mais la il me sort un nouveau truc mdr
Desoler je sait que je suis relou mais cette view me rend dingue