Существует множество способов выполнить то, что вы хотите.
Я хотел бы сделать что-то действительно простое: добавить развернуть segue (как было описано выше, как добавить один), чтобы выйти на первый A vc, и добавить custom segue * 1006. * (независимо от того, какой именно) между B и C (который вы просто создаете с раскадровкой).
Вы начинаете с А, затем:
- Если вы идете к B, вы можете вернуться, используя
self.dismiss
, используя вашу выходную последовательность.
- Если вы идете к C, вы можете вернуться к A таким же образом, или вы можете перейти к B.
- Когда вы находитесь в B (от: A до C, от C до B), вы можете вернуться к C, используя
self.dismiss
, или вы можете вернуться к A, используя выходную очередь.
Чтобы добавить unwind segue, вы должны добавить функцию к вашему первому VC типа:
@IBAction func unwindToA(segue: UIStoryboardSegue)
Затем в раскадровке, когда вы создаете свой переход на контроллере вида B (используя control + drag), начинайте перетаскивать значок VC (вверху экрана) на значок выхода. Затем вы увидите новую секцию unwindToA, которая вернет вас к вашему первому VC: A.
Чтобы создать свой переход от B до C, вы можете сделать это путем нажатия + перетаскивания от первого до второго VC в вашей раскадровке и выбрать тип, который вы предпочитаете (или вы можете создать пользовательский переход, если те, которые вы предоставили, не соответствует желанию вы ожидаете).