-1
votes

Utilisation du bouton dans un autre contrôleur de vue

Cette question peut déjà être posée sur la cachette des boutons, mais je me demandais si je pouvais simplement cliquer sur un bouton qui affecterait les variables dans un autre contrôleur d'affichage. Par exemple, j'ai FirstViewController et EndViewController. Il y a un bouton dans EndviewController que l'utilisateur appuie sur lequel changer une variable dans la FirstViewController. Existe-t-il un moyen d'accéder au bouton EndviewController à partir de la FirstViewController?

EDIT FORT> P>

Je n'ai pas beaucoup essayé jusqu'à présent, sauf le bouton EndviewController dans la FirstViewController (qui n'a pas fonctionné). P>

class firstViewController: UIViewController {
    @IBAction func nextButton(_ sender: Any) { //button that sits in endViewController
    
    }
}


2 commentaires

Qu'est-ce que vous avez essayé jusqu'à présent? Inclure votre code en question


@jawadali est la modification de mon poteau suffisant? Merci!


3 Réponses :


-1
votes

Vous pouvez utiliser le modèle Délégué Modèle STRT> pour réussir les données:

Voici un peu d'aide sur les délégués entre deux contrôleurs de vue: P>

Étape 1: Strong> Fabriquez un protocole dans l'UIViewController que vous allez retirer / envoyer les données. P>

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "mySegue" {
        let vc = segue.destination as! FooTwoViewController
        vc.colorString = colorLabel.text
        vc.delegate = self
    }
}
    


4 commentaires

Vous pouvez donner un crédit à l'auteur d'origine Stackoverflow.com/a/25792213/4085910


Puis-je envoyer une SEGUE en arrière (à partir de la deuxièmeViewController dans la FirstViewController)?


Savez-vous même ce qu'est une Segue? Qu'essayez-vous d'atteindre? Voulez-vous revenir en arrière ou quoi? @Deadlyelmo


J'ai compris. Merci quand même @swiftiswift



0
votes

Il y a 2 méthodes:

  1. Vous pouvez créer une SEGUE à partir du bouton EndviewController à FirstViewController dans Storyboard. Vous pouvez configurer la préparation de Func (pour SEGUE: UISTORYBOORDSUEGUEGE, SENDER: Tout?) Pour cela. Laisser endvc = endviewcontroller () endvc.Color = "bleu"

  2. Vous pouvez conserver la variable dont la valeur doit être modifiée en tant que type de données statique. Dans l'action de clic de bouton, vous pouvez accéder à la variable comme étant donné que, Endviewcontroller.color = "rouge". Veuillez utiliser des variables statiques uniquement si vous souhaitez que d'autres ViewControlers lui accèdent directement.


0 commentaires

1
votes

contrôleur de première vue

Le code du premier contrôleur d'affichage est xxx

Notez l'utilisation de notre protocole personnalisé DataenteredDelegate.

contrôleur de la deuxième vue et protocole

Le code de la seconde vue contrôleur est xxx

Notez que le Le protocole est en dehors de la classe de contrôleur d'affichage.

C'est ça. Exécutez l'application maintenant, vous devriez être capable d'envoyer des données à partir du deuxième contrôleur d'affichage au premier.

message original: https://stackoverflow.com/a/33229483/13783496


0 commentaires