故事板 - 设置代表

Mor*_*ess 22 xcode delegates ios xcode4 uistoryboard

在故事板之前,我只需将插座拖到课堂上即可设置代理和数据源.有了故事板,我无法将插座拖到另一个视图控制器; 没有目的地会响应它.

如果我单击一个视图控制器对象,我可以在底部看到类所有者,但是一旦我选择了另一个包含插座的视图控制器,旧选择就消失了,所以我无法连接这两个.

这种Apple的方式是说我们只应该以编程方式连接它们吗?

Mar*_*rco 28

正确.在prepareForSegue:sender:方法中设置委托或其他数据.这是一个例子:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Check the segue identifier
    if ([segue.identifier isEqualToString:@"showDetail"])
    {
        // Get a reference to your custom view controller
        CustomViewController *customViewController = segue.destinationViewController;

        // Set your custom view controller's delegate
        customViewController.delegate = self;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 如何为UISplitViewController设置委托?我正在看的示例代码通过在窗口的根视图控制器处理它来处理它:`UISplitViewController*splitViewController =(UISplitViewController*)self.window.rootViewController;`虽然技术上正确,但它有效,它看起来真的很像与故事板之前设置委托和视图控制器的好方法相比,脏方法... (4认同)