Il n'y aurait pas un moyen de créer une Enum contenant tous les noms des segues que nous pourrions utiliser directement dans XIB et dans les différentes UIViewController ? Une faute de frappe est si vite arrivée... De plus, si un jour pour X raison le nom devait changer (que nous mettrions dans un attribut code de l'Enum), nous aurions uniquement à le modifier à un seul endroit.
Mis, on ne peut pas encore utiliser les enums dans les storyboard. Au moins, on ne saisie le nom qu'en deux endroits ; on peut le copier/coller de l'ennui vers le storyboard.
Je crois que j'ai compris le breakpoint fonctionne mais quant je déplace cette breakpoint il ne charge pas le ID parce que, je passe par une autre vue qui ce trouve dans un containaier view.
Voilà une image de ce que je veux faire et containaier view est un Table view cell
En regardant le code, à part des fautes de logique, je ne peut rien voir d'évident. Si c'est un tout petit projet, tu veux me l'envoyer par MP en pièce-jointe ?
Réponses
Pour stocker une variable, j'utilise ça :
// Edit :
Si c'est pour palier à ton soucis, tu devrais plutôt essayé de le résoudre au lieu de trouver une rustine ^^
Du coup, on met la var en optional sur le NewstTableViewController et tester pour nil avant de l'utiliser
C'est pas conseillé de utiliser ni les globales, ni NSUserDefaults, pour telle circonstance
Il y a une article très intéressante sur les enums pour les segues https://www.natashatherobot.com/protocol-oriented-segue-identifiers-swift/
Mis, on ne peut pas encore utiliser les enums dans les storyboard. Au moins, on ne saisie le nom qu'en deux endroits ; on peut le copier/coller de l'ennui vers le storyboard.
je vais tous reprendre, je comprend pas.
J'ai deux vue avec l'utilisation d'un ID pour faire du JSON.
j'essaie comme cela
ça fonctionne pas
Et cela
ça fonctionne
je comprend pas si je retire l'un ou l'autre ça fonctionne pas ou ça fonctionne.
Là je sais pas quoi faire, je perd la tête.
Quelqu'un aurait une idée.
ou stocker cela dans un BDD local.
je clique sur mon choix sur la vue ça stock l'ID, quant je l'utilise, puis quant je quite la vue ça efface l'iD ou la BDD.
je tourne, je cherche, un S.O.S, une bouteille a la mer.
Bien. Tu as un segue avec l'identifiant "showDetail23" et la destination est un NewstTableViewController ? ça devrait aller. C'est quoi ton problème ?
showDetail23 oui j'ai bien cela mais mon
print("TabInfosddd2222", personViewController.TabInfos)
IL est vide il y a rien pas de ID
Donc, le code passe par la ligne print(...) et tu peux voir le résultat dans le console ?
print("TabInfosddd2222", personViewController.TabInfos)
print("dddd2:",TabInfos) et vide
dans la console j'ai que cela dddd2:
Tu as mis les breakpoints dans le code ?
Si oui, est-ce que le débogueur s'arrête ?
Je crois que j'ai compris le breakpoint fonctionne mais quant je déplace cette breakpoint il ne charge pas le ID parce que, je passe par une autre vue qui ce trouve dans un containaier view.
Voilà une image de ce que je veux faire et containaier view est un Table view cell
Alors, quand le débogueur s'arrête sur le premier breakpoint, si tu tapes :
... dans le console, qu'est-ce que tu as ?
Bonjour tous le monde,
Je vient de faire le teste breakpoint po selectedPerson et constater qu'il saute l'étape la 1er breakpoint.
J'ai fait cela
breakpoint personViewController.TabInfos = selectedPerson (le 1er)
breakpoint personViewController.TabInfos = selectedPerson (le 2ème)
Quant je pause mon pointeur sur le selectedPerson j'ai un résultat (ID) mais quant je pause sur TabInfos j'ai rien info.
Et si j'utiliser CORE DATA pour stocker l'information (ce week-end) j'ai regarder cela.
Merci de votre aide,
Donc, le débogueur s'arrête sur la ligne :
ça te dit que selectedPerson n'est pas nil.
Mais le code dans le viewController ne fait ce que tu crois :
viewDidLoad est appelé avant que prepare(for segue) est appelé. Du coup, tabInfos est toujours un String vide.
Il faut mettre à jour idLabel dans le didSet de la var tabInfos :
Oh, et n'utilises pas les majuscules pour commencer les noms des vars :-*
toujours le même problème,
On dirait que ça ne passe pas sur NewstTableViewController pas d'id.
Je ne comprend plus rien.
Tu as mis un breakpoint dans le didSet de la var tabInfos ?
Je vient de la faire rien, rien on dirait que ca ne va pas sur NewstTableViewController.
mais quant je met un ID en dure ca affiche bien ce que je veux.
S'il te plaà®t répondre à mes questions plus précisément.
1. as-tu mis un breakpoint dans le didSet de la var tabInfos ?
2. le débogueur, s'arrête il là ?
3. quelle est la valeur de tabInfos là ? (saisir " po tabInfos " dans le console)
S'il te plaà®t répondre à mes questions plus précisément.
1. as-tu mis un breakpoint dans le didSet de la var tabInfos ?
Oui j'ai mis un breakpoint dans didSet.
2. le débogueur, s'arrête il là ?
Non il ne s'arrête pas là .
3. quelle est la valeur de tabInfos là ? (saisir " po tabInfos " dans le console)
IL y a rien
Tu peux nous montrer tous le code des deux contrôleurs ? Et n'oublies pas d'utiliser les balises code 8--)
Voila 1er code
mon deuxième code :
Voilà ,
En regardant le code, à part des fautes de logique, je ne peut rien voir d'évident. Si c'est un tout petit projet, tu veux me l'envoyer par MP en pièce-jointe ?
Coucou, je vient de t'envoyer en MP mon code,
Merci encores de ton aide,
Voilà ! Ce n'est pas étonnant que tu as les soucis ::)
Côté le segue "showDetail22"
Et, dans NewstTableViewController :
Pourquoi idLabel ? Tu as déjà tabInfos dans la var en-dessus.
Quand-même, tu appelles la requête avec un String qui est vide. Ce code devrait être, au moins, dans le didSet de tabInfos :
Avec ça, tu peux supprimer viewDidLoad()
Merci beaucoup de ton aide Joanna,
Je vient de finir mon application.
Je vais faire quelques tests et finir ma BDD.
Puis revoir mon code et le commentaires.
Merci vous, cela ma permit de comprendre beaucoup de chose.
Merci encore,
Excuse-moi,
Une dernière question comment fait-on pour rafraichie mon code, je m'explique quant passe d'un storyboard a un autre.
Et quant je revient en arrière je voudrais recharger mon code , il ne le fait pas.
Merci pour cette dernière question (promit ::) )