0
votes

Comment envoyer le titre de uialertating à un autre uiviiewontroller en tant que titre de cette VC

J'ai une uialertController avec 4 options. Lorsque je choisis l'une de ces options, je souhaite envoyer le nom de cette option à la visionneuse suivante en tant que titre de cette vueController.

Voici mon code: p>

func showOptions(){

    let actionSheet = UIAlertController(
        title: "Select a type of inspection",
        message: nil,
        preferredStyle: .actionSheet
    )
    let cancel = UIAlertAction(
        title: "Cancel",
        style: .cancel,
        handler: nil
    )

    let copyOfVehicleShortCheck = UIAlertAction(
        title: "Copy of Vehicle Short Check",
        style: .default
    ) { action in
        self.performSegue(
            withIdentifier: Constants.checklistInspectionIdentifier,
            sender: self
        )
    }

    let fullDailyDefect = UIAlertAction(
        title: "Full Daily Defect and Damage Check",
        style: .default
    ) { action in
        self.performSegue(
            withIdentifier: Constants.checklistInspectionIdentifier,
            sender: self
        )
    }

    let licenceCheck = UIAlertAction(
        title: "Licence Check Y/N",
        style: .default
    ) { action in
        self.performSegue(
            withIdentifier: Constants.checklistInspectionIdentifier,
            sender: self
        )
    }

    let vehicleShortCheck = UIAlertAction(
        title: "Vehicle Short Check",
        style: .default
    ) { action in
        self.performSegue(
            withIdentifier: Constants.checklistInspectionIdentifier,
            sender: self
        )
    }

    actionSheet.addAction(copyOfVehicleShortCheck)
    actionSheet.addAction(fullDailyDefect)
    actionSheet.addAction(licenceCheck)
    actionSheet.addAction(vehicleShortCheck)
    actionSheet.addAction(cancel)

    self.present(actionSheet, animated: true, completion: nil)
}


0 commentaires

3 Réponses :


0
votes

Le rappel de l'AlertAction le renvoie xxx


0 commentaires

0
votes

Comme @sh_khan mentionné, vous pouvez obtenir le titre d'action à l'intérieur du gestionnaire d'action.
Maintenant, vous devez enregistrer le titre sélectionné et le transmettre au contrôleur suivant, comme celui-ci:

sauvegarder le titre d'action: xxx

pass dans prepreforSue < / p> xxx


0 commentaires

2
votes

Comme @sh_khan a signalé, pour obtenir le titre que vous avez besoin action.title code>.

Ma réponse est un complément, depuis de votre question et de votre code, il n'est pas clair que vous savez comment Pour ce faire. p>

Pour envoyer le titre d'une VC à une autre à une autre, vous devez remplacer la méthode PREPARYFORSEGUEGE. P>

Créer une variable globale: P>

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
   if segue.identifier == "insert your identifier here" {
      if let vc = segue.destination as? YourDestinationViewController {
          vc.title = selectedTitle
          print("Title set in destination VC")
      }
   }
}


1 commentaires

Merci beaucoup ! Je ne peux pas vous donner la réputation parce que je n'ai pas encore 15 pièces. Mais je reviendrai!