1

I have VC "A", from which I pass some data to "B". In attribute inspector i called my seque "B" :

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "B" {
            let vc = segue.destination as! ChooseController
            vc.someData = "passedDataFromAToB"
    } 

After that i want to pass some data back from B to A using delegates and protocols, but it turns out that my segue identifier is busy. I have to create new segue? But how, programmatically?

Jez
  • 29
  • 4

1 Answers1

0

You need to set the delegate here

let vc = segue.destination as! ChooseController
vc.delegate = self
vc.someData = "passedDataFromAToB"

class ChooseController:UIViewController {
  weak var delegate:AVC?

then to pass data before dismiss

delegate?.sendData(data)
self.dismiss(animated:true,completion:nil)
Shehata Gamal
  • 98,760
  • 8
  • 65
  • 87