I have Controller B, which sends data back to Controller A using delegate pattern but for some reason my segue doesn't trigger.
Is something stopping my segue from being triggered? How would I resolve this?
Controller B - Present Modally
@IBAction func addButton(_ sender: Any) {
delegate?.select(sID: selectedID)
dismiss(animated: true, completion: nil)
}
Controller A
func select(sID: String) {
performSegue(withIdentifier: "editSegue", sender: self);
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "editSegue" {
if let destinationVC = segue.destination as? NewController {
destinationVC.selectedQueryID = selectedQueryID;
print(“test”);
}
}
if segue.identifier == "selectSegue" {
if let destinationVC = segue.destination as? ControllerB {
destinationVC.queryID = selectedQueryID;
destinationVC.delegate = self;
}
}
}
Controller C - Present Modally (does not present itself)
In the B viewcontroller, trigger upon completion of the dismiss
@IBAction func addButton(_ sender: Any) {
dismiss(animated: true, completion: {
delegate?.select(sID: selectedID)
}
}
Also make sure that you are presenting B viewcontroller modally.