所以,我有导航控制器。有从根视图控制器继续其他视图控制器。访问导航堆栈中的当前视图控制器
当我想访问其他视图控制器时,我将覆盖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)
}
/问题受到/- 是我的赛格瑞和我的问题点提出的当前视图控制器。
*“在prepareForSegue我的东西都将执行每当SEGUE被称为,但我不想要它“* - 那么不要把它放在那里......我很难理解你的问题究竟是什么,可以展示一些代码来证明你的问题是什么? – luk2302
导航控制器有三种方法可以访问导航堆栈上的项目。你有没有试过其中的任何一个来看看它们是否适合你? – Desdenova
是的!这是我的观点!我提出了Segue的新控制器,这是否意味着我必须在prepareForSegue方法中完成所有我想用新控制器做的事情? –