Fondamentalement, ce que j'essaie de faire est de passer un nombre entier d'un contrôleur d'interface. Le curseur dans le contrôleur "SecondPage" obtiendra une valeur entière du curseur et devrait l'envoyer au contrôleur d'interface appelé "ThirdPage" et mettre le titre de cette étiquette à la valeur. J'ai essayé tant de méthodes mais en vain. J'essaye juste d'envoyer le contexte du 2ème contrôleur d'interface, le reçois dans la méthode éveillée (avec Contexte Contexte: Tout?) Dans le 3ème contrôleur et l'enregistre comme titre jusqu'à ce que le curseur soit changé encore.Pourquoi ne puis-je pas envoyer de données entre les contrôleurs d'interface pour Apple Watch?
Voici ce que j'ai essayé d'abord dans le deuxième contrôleur de page, mais il ne passe pas toutes les données:
override func contextForSegueWithIdentifier(segueIdentifier: String) -> AnyObject? {
if segueIdentifier == "ThirdPage"{
return sliderval
}
return nil
}
voici ce que j'ai essayé après cela, il a passé les données, mais il n'a pas « sauver » il. Il affiche le contrôleur d'interface avec l'étiquette mise à jour à la valeur du curseur, mais je ne veux pas qu'il apparaisse, je veux que cette valeur soit enregistrée sur l'étiquette. Quand je ferme la pop, et glisser vers la droite à la troisième page, l'étiquette est encore appelée « Étiquette »
self.presentController(withName: "ThirdPage", context: sliderval)
Voici quelques photos de la sortie ainsi que certains de mon code. Toute aide est appréciée, merci. PS: Ceci est tout à Swift 3
parfait, en utilisant une variable globale a bien fonctionné. Je vous remercie! Comme vous l'avez mentionné à propos de l'évitement des variables globales, pourriez-vous en expliquer les inconvénients? Serait-il plus difficile de soumettre une application en utilisant des variables globales, ou est-ce que la validation de la variable est vérifiée pour s'assurer qu'elle n'est pas nulle en la déballant? Merci –
Les variables globales sont généralement considérées comme une mauvaise pratique car il est plus difficile de maintenir le logiciel. Quand un objet peut changer sa valeur, il est vraiment facile d'introduire des bogues dans votre programme. Il est également difficile de déterminer quels objets lisent et écrivent cette valeur à partir du code lui-même, il peut donc être plus difficile à maintenir à long terme. – nathan
bon point, cela semble similaire à lire l'ancienne valeur d'un registre alors qu'une nouvelle valeur est en cours d'écriture. Merci pour la réponse rapide! –