Здесь есть две основные концепции, которые вы должны понимать. Во-первых, это контроллер навигации, который подталкивает новый контроллер представлений в верхней части стека viewControllers, а второй - простой контроллер модального представления, который просто представляет новый контроллер представления.
Если вы используете навигацию контроллер и нажимают новый контроллер представления в стек, вы можете использовать следующие методы, чтобы получить контроллер представления, который толкнул его,
if let viewControllers = navigationController?.viewControllers, viewControllers.count > 1 {
let presentingViewController = viewControllers[viewControllers.count - 2]
}
И, в случае модального вы можете просто использовать presentingViewController свойство UIViewController. Также обратите внимание, что presentingViewController не является обязательным, что означает, что если этот контроллер представления не является представленViewController viewcontroller, который представляет его, то presentingViewController становится нулем.