如何在xcode 4.2故事板中正确使用模态视图控制器

War*_*kst 6 xcode modal-dialog storyboard ios segue

我想知道如何正确使用故事板以模态方式设置视图控制器.就个人而言,我更喜欢使用xibs,但似乎故事板越来越受欢迎,并将成为未来的发展方向.

我通常以模态方式设置视图控制器的方式如下:假设我们有ViewControllerA(简称A)和ViewControllerB(简称B).然后我通常会在Bh中指定一个协议,在B想要被解雇时指定委托方法并将该id<theProtocol> delegate字段添加为assign属性.假设我在A忙,我想以模态方式呈现B,我会写:

B* b = [[B alloc] initWithNibName:@"B" bundle:nil];
b.delegate = self;
[self presentModalViewController:B animated:YES];
Run Code Online (Sandbox Code Playgroud)

使用故事板,我知道可以通过按住Ctrl键从按钮拖动到视图控制器并选择模态作为转换类型,以模态方式设置不同的视图控制器.我只是想知道; 我在哪里设置新视图控制器的委托?将事物传递给模态视图控制器的正确做法是什么?我真的不知道Segues的整个交易是什么......

d.l*_*dev 5

看一下 教程

根据它,您应该如下设置委托:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"AddPlayer"])
    {
        UINavigationController *navigationController = 
          segue.destinationViewController;
        PlayerDetailsViewController 
          *playerDetailsViewController = 
            [[navigationController viewControllers] 
              objectAtIndex:0];
        playerDetailsViewController.delegate = self;
    }
}
Run Code Online (Sandbox Code Playgroud)

其中@"AddPlayer"是"模态"segue的名称