iOS Xcode 4.2使用故事板显示ViewController

iOS Xcode 4.2使用故事板显示ViewController,ios,storyboard,Ios,Storyboard,使用故事板显示viewcontroller的新方法 UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UINavigationController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"Connect"]; [se

使用故事板显示viewcontroller的新方法

    UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

UINavigationController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"Connect"];

[self presentViewController: secondViewController animated:YES completion: NULL];
表示控制器连接的旧方法如下

  Connect *connect = [[[Connect alloc] initWithNibName:@"Connect" bundle:nil] autorelease]; 

[self presentViewController:connect animated:YES completion:NULL];
 NSString *userid;
 userid=@"123";

 [connect setID:userid];

我想以故事板的方式调用connect控制器的setID函数,我该怎么做?似乎我没有直接获得Connect controller的实例。

为什么要将其转换为UINavigationController?照你刚才做的去做

Connect* connect = [secondStoryboard instantiateViewControllerWithIdentifier:@"Connect"];

您应该对视图控制器进行子类化,以便可以控制用户与视图控制器交互时发生的情况(除非您的应用程序可以单独在segues上运行)

在Xcode中,文件->新建->文件->类。创建一个类似于
MyAwesomeViewController
的类,该类子类(在您的示例中)
UINavigationController

我喜欢在自定义视图控制器类中创建一个名为
NewVC
的自定义方法。它可以完成上面列出的所有操作,以及任何自定义设置:

+(MyAwesomeViewController *)NewVC {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName: @"MyStoryboard" bundle: nil];
    return [storyboard instantiateViewControllerWithIdentifier: @"MyAwesomeViewController"];
}

这样,当您想要创建一个新的视图控制器时,您只需调用
[MyAwesomeViewController NewVC]
,它将返回一个新的视图控制器实例。

因为如果我这样做,那么连接视图控制器将有一个我想要的后退按钮。