Потерянный segue


#1

Дело обстоит так: на одном из VC, после совершения некоторых действий есть следующая строчка кода

performSegue(withIdentifier: “toMainFromAdd”, sender: self)

Как видно, она совершает переход к главному VC. Если я меняю идентификатор на рандомный, выскакивает ошибка о том, что такого идентификатора не существует. Значит у меня есть segue с ИД “toMainFromAdd”, но я его не могу найти уже второй час(((

Сториборд выглядит так:


Переход осуществляется от кнопки “Save” с VC, где изображение человека к тому, который ниже.
Понимаю, что скорее всего все очень просто, но я в упор не вижу.


#2

а чем ми Вам можем помоч ? посмотрите как називаеться переход от RootViewControler -> NavigationController`a … наверное ви о нем питались написать


#3

К сожалению нет. Переход от RootVC к NavigationVC вообще не имеет идентификатора. И вообще ни один сегвей на сториборде не имеет идентификатора “toMainFromAdd”.
Собственно и вопрос в том, как такое могло получиться.


#4

зделайте поиск по значению toMainFromAdd и увидете где и как используеться етот идентификатор.
Ваш случай скажем так подобен когда забивают указать cell idenifier для ячейки таблици и регистрируют его у ViewDidLoad`e етого контролера - и ви в сториборде его не видете и все работает ))


#5

Если я вас правильно понял, то искать так я пробовал. Ну, именно в файлах с кодом.

Показывает только в единственном файле, где как раз и есть эта строка.
Код, собственно, работает как надо. Мне просто жутко интересно как это получилось. Видимо я что-то забыл.


#6

хмм … я думал будет хоть 2 результата если все у файлах (


#7

unwing segue в проекте есть ? по логике ето он ( хотя ето только мое предположение) , но почему ви его найти не можете ( , я не знаю


#8

Верно, unwind segue есть. Кнопка “Cancel” как раз привязана к такому, а вот “Save” - нет.


#9

ну вот и нашли что искали :slight_smile:
performSegue(withIdentifier: “toMainFromAdd”, sender: self) - етот код к кнопке Save относиться - потому когда его меняли - то и не работало


#10

Одну секунду, я пока что-то не въехал)
То, что код относился к кнопке “Save”, я знал с самого начала)
Просто я не могу больше нигде найти этот идентификатор “toMainFromAdd”. Он же должен быть? Ведь если я изменю его на, допустим, “toMainFromAdd2”, то приложение упадет с ошибкой о том, что такого идентификатора нет.
Наверное, я не правильно изначально изъяснился, но ищу я все же не столько сегвей, сколько этот идентификатор)) В коде он фигурирует только в этой строке, да и на сториборде его не видно. В чем дело - никак не пойму.


#11

а как же unwindSegue ?? - как он називаеться ( я угадую не видя проекта - собственно мне тоже не просто ˆ:) )


#12

@IBAction func cancel(segue: UIStoryboardSegue) {
}

unwind segue записан у меня вот так.


#13


все равно находит 2 варианта id если делать з unwindSegue - один за сторибордом а другой за кодом -> переделайте может чтоб теперь все четко било