Rechargement d'une vue avec effacement/ réinitialisation des champs
Hello
Je doit recharger ma vue et effacer / réinitialiser mes données.
J'ai donc fait cela:
NSString* typeDePriseEnChargeFinanciere = typePecBouton.titleLabel.text;
NSString* precisezDossierSuiviPar = precisionSuiviTexfield.text;
typeDePriseEnChargeFinanciere = @Sélectionnez;
precisezDossierSuiviPar = @"";
[self.view setNeedsDisplay];
Aucun résultat
J'ai essayé cela:
NSString* typeDePriseEnChargeFinanciere = typePecBouton.titleLabel.text;
NSString* precisezDossierSuiviPar = precisionSuiviTexfield.text;
typeDePriseEnChargeFinanciere = @Sélectionnez;
precisezDossierSuiviPar = @"";
[self viewDidLoad];
Rien non plus.
J'ai toujours mes champs qui sont remplis, et j'ai pas l'impression que ma page se recharge.
Pouvez vous m'aider s'il vous plait ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Au lieu de faire preuve de cette insolence t'est il possible de me répondre gentiment ?
Sur Internet (sur SO pour être plus précis) est évoqué le viewDidLoad et setNeedsDisplay, mais aucun de ces 2 la ne fonctionnent
@Jean75 Je trouve qu'il n'est pas insolent avec toi, au contraire c'est le meilleur conseil. Il a assez d'expérience pour remarquer que tu es entrain de galéjer et de faire n'importe quoi, par exemple invoquer la fonction viewDidLoad soit même, chose qu'il ne faut jamais faire.
C'est la base tout ça, donc franchement un bon livre te permettra d'avancer et d'avoir toutes les notions de base et bien sur en parallèle tu peux demander des conseils/aide aux membres du forum.
Je te rappelle ce que je t'ai déjà expliqué plusieurs fois, à savoir que si tu faisais un petit effort de te former sur les bases avec un bouquin, tu aurais déjà la réponse à toutes ces questions que tu as posées depuis le début ; ce n'est pas notre rôle que de te faire des cours et de répéter exactement ce qui est déjà dit dans ce genre de bouquins, qui expliquent d'ailleurs ces bases bien mieux que nous pourrions le faire ici.
Là pour répondre à ta question correctement, il faudrait t'expliquer le fonctionnement des méthodes de base que sont viewDidLoad, setNeedsDisplay, drawRect, leur lien entre eux (ce qui est expliqué dans la documentation Apple et les Programming Guide, de surcroà®t), les bases de fonctionnement de comment fonctionne la mise à jour de l'UI d'une appli iOS en général, ... ce n'est pas notre rôle mais celui d'une formation ou d'un bouquin.
Maintenant, tu sembles t'obstiner à ne pas écouter mes conseils, et continuer à nous poser des questions qui nécessiteraient à chaque fois que l'on t'explique les bases qui seraient pourtant expliquées dans un bouquin ou une formation, plutôt que de prendre en considération mes (nos) conseils et les réponses qui te sont données.Ce n'est pas comme cela qu'un forum fonctionne, et je me demande qui est à qualifier d'insolent dans ce cas...
Samir - invoquer viewDidLoad est une mauvaise solution ? Va donc dire ça ici: http://stackoverflow.com/questions/9686433/reloading-a-viewcontroller
AliGator - Je suis une formation en Licence, et j'ai également 2 bouquins je te ferais remarquer.
Ne crois pas que je n'ai eu que 4 ou 5 problèmes j'en ai eu bien plus que j'ai su régler par moi même, je ne viens pas demander de l'aide sans avoir cherché avant, je te ferait dire.
Tu ne veut donc pas répondre ? Soit, mais après faut pas s'étonner de la mauvaise image que donne les français avec une mentalité plus que limite. Vous êtes censés aider les utilisateurs, et non pas à chaque fois leur dire RTFM.
La réponse en question sur SO est correcte, c'est toi qui a sans doute dû la comprendre à l'envers.
Et le 2e message qui préconise d'utiliser viewDidLoad ? Je croyais qu'il ne fallait pas l'utiliser (dixit Samir)
Sinon ça ne règle toujours pas mon problème
Demandes-toi, que fait ce code exactement ?
Maintenant, si tu ne souhaites pas suivre les conseils que l'on te donne, c'est un autre problème.
Je te rappelle que tout le travail de réponses aux questions posées sur les forums est un travail entièrement bénévole, et quand on a l'impression de toujours répondre la même chose à chaque fois et de réexpliquer les bases et avoir l'impression de faire des cours complets gratos, tu comprendras qu'à un moment donné ça saoule un peu et ne donne plus trop envie de donner de son temps pour répondre et aider les autres...
Bah il met "Sélectionner" comme titre du bouton, et il met rien ("") dans le textfield, c'est ce que je cherche à faire.
J'ai pourtant pas vu de réponse, et je comprends pas pourquoi tu en as autant après moi ? Tu cherches un bouc émissaire pour te passer les nerfs ? Tu l'a surement déjà expliqué à d'autres et plus calmement, alors pourquoi t'énerver sur moi ?
Mais non. Ce que tu fais c'est de, d'abord, prendre l'adresse du texte du textField et, puis, l'écraser en prennant l'adresse d'une autre chaà®ne.
En gros si tu veux changer le titre d'un bouton ( ou d'un Label ici ) il faut que ce soit lui que tu modifie non pas un NSString.
En gros ce que tu fais c'est stocker la chaine de caractère qu'il y a dans dans le Label et celle qu'il y a dans le textField.
Mais une fois stocké, ceux sont ces mêmes chaines que tu "ré-initialise".
Si tu veux qu'il y est un changement sur la vue, il faut que tu modifie l'attribut de ses éléments même.
Du coup c'est le
que tu dois changer et non pas la chaine dans laquelle tu as stocké ta valeur.
En gros ce que tu dois comprendre, c'est que il y a des éléments graphiques ( que tu implémentes grâce à l'interface builder ou dans le code ) que tu "lies" au code et que ce sont ceux ci qu'il faut que tu modifies si tu veux qu'il se passe quelque chose à l'écran.
Bon j'ai trouvé comment réinitialiser mon bouton
Je vais essayer MarcoDah, merci pour l'explication...
Ca marche merci
Oui j'ai fait l'erreur de modifier la variable et pas le champ
Elle a raison. Même si après avoir posté je remarque que j'utilise beaucoup trop de "en gros".
J'ai essayé de détailler ma réponse pour que tu comprennes ce que je faisais .
Je pense que ce que sous entendait Aligator ( et il ne s'est pas énervé contre toi, ni ne s'est passé les nerfs ). C'est que l'important quand on pose une question ce n'est pas de résoudre son problème mais de comprendre pourquoi ce que l'on faisait ne marchait pas et ainsi ne plus refaire ce genre d'erreur à l'avenir.
Je n'étais pas enervée de toi, plutôt, il te vaut mieux de devoir trouver les erreurs toi-même que d'avoir les réponses mis sur une assiette
Oui il ne faut pas utiliser viewDidiLoad soit même ( sauf pour appeler la méthode parent "super"), je veux dire par la qu'il ne faut pas écrire une ligne de genre : [self viewDidiLoad];
cette méthode est appelée une fois que la vue de UIViewController est chargée en mémoire, c'est un "callback" pour informer que la vue est bien chargée. C'est pareil pour toutes les méthodes relative au cycle de la vue :
Un passage de documentation sur viwDidLoad :
Stackoverflow ?
La réponse acceptée est correcte, et il n'a pas cité viewDidLoad dans sa réponse. Il a citée setNeedDisplay (qu'il déconseille d'ailleurs).