Последовательность экрана приложения в приложении iOS

В приложении я могу перейти с экрана A на B и C. Также я могу перейти с экрана A на E, а также я могу перейти с экрана C на E.

Я хочу знать точку входа, из которой представлен контроллер E.

PS: приложение без раскадровки и не может публиковать код из-за конфиденциальности.

Приложение находится в Swift 3. Ищу несколько предложений.


person Shruti    schedule 28.02.2018    source источник
comment
Что вы имеете в виду под точкой входа?   -  person Sweeper    schedule 28.02.2018
comment
Под точкой входа я подразумеваю, что если контроллер E запускается контроллером A или C. Таким образом, точкой входа для контроллера E является A или C.   -  person Shruti    schedule 28.02.2018
comment
@Shruti: Вам нужен верхний корневой контроллер представления, который загружается из UIWindow? или вам нужен последний контроллер представления, который представлен текущему контроллеру представления?   -  person Ankit Chauhan    schedule 28.02.2018
comment
Возможный дубликат ссылки на контроллер исходного представления перехода   -  person staticVoidMan    schedule 28.02.2018
comment
@AnkitChauhan Мне нужно последнее представление, из которого представлен этот текущий контроллер представления.   -  person Shruti    schedule 10.03.2018


Ответы (2)


почему бы вам просто не использовать родительское свойство E viewController и проверить источник, который его представил, вы можете сделать что-то вроде

           if let parentController = self.parent as? A {
           //do smething
           }
           else if let parentController = self.parent as? C {
           //do smething
            }
person Geet    schedule 28.02.2018

Самый простой способ - передать некоторые данные в вашем переходе

i.e.

if segue.identifier == "showDest"{
let destVc = segue.destination as! YourViewController
destVC.source = currentVC
}
person stevenpcurtis    schedule 28.02.2018