所以,我有導航控制器。有從根視圖控制器繼續其他視圖控制器。訪問導航堆棧中的當前視圖控制器
當我想訪問其他視圖控制器時,我將覆蓋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方法中完成所有我想用新控制器做的事情? –