Swift , présenter une nouvelle view (segue)
Bonjour, je voudrais montrer une view avec des conditions et avec la fonction performSegueWithIdentifier():
voici le code :
@IBAction func showResult(sender: AnyObject) {
let acceptView2 = verify(label)
if acceptView2 == true{
performSegueWithIdentifier("showResult", sender: nil)
}
else{
label.text = "Veuillez choisir une équipe"
label.textColor = UIColor.redColor()
}
}
Cependant lorsque j'appui sur le bouton et que acceptView2 est false, le programme continu sur la view suivante alors qu'il ne faudrait pas.
ps : j'ai lié le bouton avec la view avec un segue de type "push(e.g push).
Voila en espérant avoir été suffisamment clair
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
C'est en raison de ta liaison. En effet, si dans le storyboard tu lies ton bouton à un nouveau ViewController, il va y aller quelque soit tes tests dans ton action. Donc appeler performSegueWithIdentifier n'est pas utile dans le cas présent. Pour résoudre ton problème, il faudrait que tu lies le ViewController actif au ViewController auquel tu souhaites accéder par exemple. Tu donnes ensuite un identifiant à cette liaison, ici showResult.
Je ne connaissais pas cette manip ça va vraiment m'aider! Je te remercie.
Mais je me permet de vous demander quelque chose d'autre, j'utilise un "picker view", et j'ai un bouton qui récupère la donnée sélectionnée dans ce "picker". Cependant lorsque j'appuie sur ce bouton quand j'entre dans l'application sans toucher au "picker view", la donnée est "nulle". Il faut que je sélectionne une valeur avant.Y-a-t-il une solution ou doit-on mettre une valeur par défaut ?
Quand tu veux poser une nouvelle question, il faut créer un nouveau topic. Sinon personne ne comprendras qu'il faut regarder "présenter une nouvelle view" pour parler de UIPickerView.
Pas de soucis.
C'est que ton bouton n'a pas de valeur. S'il n'a pas de valeur il faut lui en donner une par défaut si effectivement la valeur nulle ne te convient pas.