Итак, у меня есть контроллер навигации. есть сегмент от контроллера Root View до другого контроллера View.Получение доступа к текущему контроллеру просмотра в стеке навигации
Когда я хочу получить доступ к другому контроллеру просмотра, я переопределяю метод prepareForSegue
и пользуюсь destinationViewController
.
Но это не нормально для меня. Все мои вещи в prepareForSegue
будут выполняться каждый раз, когда вызывается segue, но я не хочу этого. Во-вторых, он разрушает логику моего кода: после performSegueWithIdentifier
(фактически до) выполнение перескакивает в другое место в коде.
Было бы здорово, если бы я мог получить доступ к другому диспетчеру просмотра, например, я сделал это с Root ViewController - например, по ключевому слову self
.
Вот пример кода, чтобы сделать мой вопрос более четко:
func startWorking() {
/*here we made some stuff for current VC
...
...
*/
//next we go to new View Controller
performSegueWithIdentifier("newVC", sender: nil)
//then all actions that I want to do begin at another method - prepareForSegue
//But I want get access to View Controller that user sees now!
//For example present some view:
let someView = UIView(frame: someFrame)
/*question subject*/.view.addSubview(somView)
}
/вопрос подлежит/- ток ViewController, что я представил Segue и точкой моего вопроса.
* "Все мои вещи в prepareForSegue будет выполняться каждый раз, когда переход называется , но я не хочу этого "* - тогда не помещайте его туда ... У меня проблемы с пониманием, что именно ваша проблема, может показать какой-то код, демонстрирующий вашу проблему? – luk2302
Контроллер навигации имеет три метода доступа к элементам в стеке навигации. Вы пробовали кого-нибудь из них, чтобы посмотреть, работают ли они на вас? – Desdenova
Да! Это мой вопрос! Я представляю новый контроллер Segue, означает ли это, что я должен делать все, что я хочу сделать с новым контроллером в методе prepareForSegue? –