SearchBar sous Alamofire
Bonjour rien que moi encore moi,
J'avance à petits pas, avec tous vos aides je commence à me débrouiller sur certain point pas trop mal à mon avis.
Voilà je cherche à réaliser un moteur de recherche qui va envoyer une requête à mon serveur et lui demander la réponse en JSON.
Pour cela j'ai réfléchi, je me suis dit avec Alamofire fais cela très bien, il faut juste que je rajoute dans ma requête ma demande, quand je remplie Search Bar et que cela se rafraà®chie seul a chaque fois que je tape un mots ou une lettre.
Alamofire.request("https://serveur/api/json_search.php?question=_seach")
C'est ce que je récupère dans mon SearchBar.
Mais je ne trouve pas d'exemple qui me montre comment cela se fait.
Merci a vous
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Bonjour,
Ce week-end je suis pas parvenue a faire mon moteur de recherche, quelqu'un aurai-t-il la gentillesse de m'aider.
Mon but et de faire un moteur de recherche avec Alamofire et JSON
Merci a vous
Il fat absolument que tu donnes une partie de ton code pour ce genre de question.
On a besoin de savoir ce qui est déjà en place, car il se peut qu'il te manque très peu pour que ça marche, et il y a souvent plusieurs manières différentes, donc bon, autant partir de ce que tu as fait.
Cela peut aussi nous permettre de relever des erreurs de ton côtés que tu ne verras pas forcément, des erreurs de logiques/code, ou simplement de mauvaises habitudes.
Essaye de diviser ta tâche en différentes sous-tâches, et dis-nous à quel endroit tu bloques également.
Bonjour Larme,
OK merci de ton aide je vais faire cela.
Voilà mon code :
SearchTableViewController.swift
Puis SearchTableViewCell.swift
Et SearchDetailsViewController.swift
Voilà mon code,
Merci de votre aide,
Alors, c'est evident que tu ne sais pas vraiment comment coder et que tu devais écrit (voir copié ?) sans avoir compris. ???
Mais, c'est presque Noël ; ton code, amélioré avec plein de trucs et astuces ...
Merci de ton aide Joanna Carter,
connaitriez vous une tutoriel pour réaliser un moteur de recherche.
Je bloque depuis quelques jours sur cela.
Merci,
Je vois que tu n'as pas encore commenté sur les améliorations que j'ai proposé pour ton code.
Si tu continues à écrire tel mauvais code sans le comprendre, tu auras peu de chance de comprendre comment implémenter un "moteur de recherche" ; sauf si tu ne veux que copier/coller l'oe“uvre de quelqu'un d'autre, en espérant qu'il sache plus que toi.
Un "moteur" doit être rédigé, soit avec une structure, soit avec une classe, séparé du contrôleur, et il faut comprendre comment l'appeler du contrôleur, sur un fil d'arrière plan et comment notifier, du moteur, le contrôleur quand les résultats sont prêts.
En plus, il faut comprendre comment gérer les "strong reference cycles" dans les closures.
Bien sûr, tu pourrais continuer à empiler le mauvais code sur le mauvais code, mais l'heure arrivera quand tous ce que tu as mal écrit te mordra.
Est-ce que tu as bien compris les changements que j'ai fait dans ton code et pourquoi je les ai fait ?
Excuse moi, oui j'ai à peux prés bien compris ton code, je l'ai implémenté mais rien ne fonctionne pas page blanche, quand je clique sur le SearchBar j'ai cela :
Merci de me reprendre
Mais, parmi tout ton code, tu ne nous as jamais montré le code qui répond au SearchBar. Comment peut-on t'aider si tu ne nous montrer rien de pertinence ?
Bonsoir,
Pour mon code le voici :
Oui je cherche des codes que je prends en exemple et je copie et essais de comprendre le fonctionnement, cela n'est pas simple sous Swift 3 pas trop de doc en FR, mais voilà . j'essaie c'est ce qui fait grandir une personne que de rien faire.
Voilà , merci à vous de vos aides,
Hello easyd,
Peut-être qu'avant de te lancer dans ton projet principal tu pourrais t'entraà®ner sur des mini-projets plus simples ?
Copier/coller du code n'est à mon avis pas une stratégie viable.
Comprendre en revanche oui !!
Je te conseille de commencer par suivre les vidéos en français qui expliquent tout ce que tu as besoin de comprendre pour faire ton projet. Je pense que c'est du Swift 2 et pas du Swift 3 mais ça c'est un petit détail (que tu pourras corriger tout seul ou en posant des questions ici)
Bon courage, tu as raison quand tu dis ". j'essaie c'est ce qui fait grandir une personne que de rien faire" mais regarde quand même les vidéos !
Colas
Merci Colas,
Pour ton point de vue, mais je pense qu'il y a que sur le terrain que l'on peut bien apprendre, je ne fais pas que copier/coller je lie le code et essais de comprendre son fonctionnement, vu ma jeunesse dans ce domaine j'ai un peu de mal à comprendre certains points.
Pour info : je suis inscrit a de nombre court de développement comme chez udemy.com, là je pratique ce que j'ai appris mais c'est dur au début, comme tout cours.
Voilà ,
Du coup, comme dit colas, tu profiterais mieux de commencer avec les exercices plus simple. Si tu ne peux pas suivre les conseils d'une consultante en programmation comme moi, je me demandais comment tu espères de t'avancer ; tu continues à laisser les fonctions qui n'appelent que super dans ton code (c'est pas grande chose mais ça me dit que tu ne veux pas vraiment t'avancer)
Si tu ne voulais pas suivre les conseils de colas, tu devrais apprendre assez d'anglais afin que tu puisses rechercher et suivre les tutos dont la plupart sont en anglais.
Il y en a un sur le search ici : https://www.raywenderlich.com/113772/uisearchcontroller-tutorial
Si quelqu'un peux m'aider voilà mon code :
Merci de vos aides, je bloque et arrive par affaire de recherche dans l'appli,
À l'ouverture j'ai bien le contenue, quand je clique sur SEARCHBAR et écrit ma recherche rien ne fonctionne.
Et quand je quitte la SEARCHBAR j'ai plus rien de ce qui était afficher. votre aide me permettrait de comprendre ou je pêche.
Merci,
OK merci a toi,
j'y vais
Bonjour,
J'avance a petit pas et pas trop mal.
je n'arrive pas a me dépatouiller de ce problème, quelqu'un pourrai m'aider.
voilà mon code
la forme du fichier php :
Ce que je cherche a faire c'est toujours mon moteur de recherche.
Je voudrais pouvoir récupérer ces trois informations, afficher que les deux première pour le recherche et le troisième (ID_NOM) pour le détailles que l'on peux voir en un clique sur le résultat de ça recherche.
Merci beaucoup de cotre aide,
Je désespère beaucoup mais j'avance a petit pas,
Sans votre aide je ne sais comment je ferais, merci en encore.
je vient de faire des modification mais rien ne s'affiche
juste sur le terminal, ma recherche fonctionne mais vide
Essaye d'enlever le "let" .
Bonjour,
J'ai retirer le "let" mais j'ai cela maintenant
Merci,
Mais bien sûr. Tu as change :
à
Qu'est-ce que tu attendais ?
Bonjour,
J'ai fait quelques modification, cela fonctionne bien je voie bien mes donner et je peux passer d'une storyboard a l'autre avec les details.
Quant je clique que le search bar et que je fait un recherche pas de résultat.
je commence vraiment a désespérer.
voilà mon code :
et j'ai comme info sur le terminal :
Je ne comprend pas pouvez-vous m'aider.
Merci,
ben ça, c'est des problèmes d'auto-Layout. Tu as des contraintes qui se contrarient. Mais ce' ne sont que des warnings car le système s'en accomode et fais péter certaines contraintes automatiquement.
Il faut revoir tes contraintes dans le viewController de ton storyboard
Bonsoir tous le monde,



J'ai modifier mon code au complet et ça fonctionne très bien, jute quelque erreurs.


quant tous sera OK je mettrais mon code pour aider les autres.


Quant j'écris un text de type une chaine de caractère pas de problème mais deux chaine de caractère comme cela "aix en provence" sa donne cela "aixenprovence" comment je peux régler cela.


Pour mon deuxième problème j'utilise ID_produit pour créer une vue détailler, mais quant je clique sur le mon de mon produit, il récupère un mauvais ID_produit.


et quant le clique sur produit1 il me donne l'ID-produit du produit4, qui donne 3019 je resultat est faux c'est 1976.


voilà mon code


Merci de votre aide,
Tu te sers de TabInfos pour savoir quel item envoyer à ton next view controller. Or tu écris TabInfos = [idTextLabel] dans cellForRowAtIndexPath, et non pas dans didSelectItemAtIndexPath: ! Donc commence par implémenter didSelectItemAtIndexPath:.
Regarde ce tuto :
Il te montre qu'il faut prendre l'Id de ta liste "filtrée", là il prend l'id de ta liste "normale", du coup, tu tombe pas sur le bon produit.
En gros il faut que tu regarde si tu es dans ta barre de recherche (si elle est active et non nulle) et prendre l'id à ce moment là .
Ce tuto te montre exactement comment faire