UINavigationController UIBarButtonItem Push Segue

问题描述:

当我查看UIBarButtonItem并从Connections Inspector中拖动“push”segue时,我可以将它连接到故事板中的另一个视图控制器。当我运行它并单击UIBarButtonItem时,我在IB中连接的ViewController神奇地出现。UINavigationController UIBarButtonItem Push Segue

我的问题是:这是怎么发生的?这是“推”事件。在父ViewController中是否有方法?类似于:“PushSegue”?我想通过导航视图控制器将信息传递给连接的ViewController。例如,如果我想在那个时候弹出一个UIAlertView,我会在那里做什么? ViewController类中的某处?

一旦一个segue被调用(通过按下按钮)它会调用prepareForSegue。 在prepareForSegue中,你检查哪个segue被调用,然后可以运行你想要准备下一个视图控制器的任何代码。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
// Make sure your segue name in storyboard is the same as this line 
if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"]) 
{ 
    // Get reference to the destination view controller 
    YourViewController *vc = [segue destinationViewController]; 

    // Pass any objects to the view controller here, like... 
    [vc setMyObjectHere:object]; 
} 
}