1

我正在使用 sdk 5 和来自已经工作的 iPhone 应用程序(使用单独的 xibs 开发)的情节提要开发一个 iPad 应用程序。我了解故事板的工作原理,但我想推送一个带有参数的视图控制器。按钮调用 logIn2 操作,如:

   - (IBAction)logIn2: (NSString *)strUser: (NSString *)strPass
{
    userViewController *UserViewController = [[userViewController alloc] initWithNibName:@"userViewController" bundle:nil stringOne:strUser stringTwo:strPass];
    //UserViewController.hidesBottomBarWhenPushed = YES;
    [[self navController] pushViewController:UserViewController animated:YES];
}

这工作正常,但使用 sdk 5 在第一行返回错误。如何通过参数推送视图?谢谢你。

4

3 回答 3

1

从错误消息中很明显,在您的 UserViewController 上没有方法声明 initWithNibName:bundle:stringOne:stringTwo:'。你的 UserViewController 是什么样子的?

于 2011-12-26T14:19:43.553 回答
1

您是否在 .h 文件中声明了自定义初始化程序?否则,只会找到标准的 initWithNibName 初始化程序作为选择器,而不是您指定的初始化程序 - 因此会出现错误消息。

于 2011-12-26T15:05:49.820 回答
1

如果您说您想将您的应用程序转换为使用 Storyboard 和 Segues,那么您将制作一个 Segue 来推送 UserViewController。在 UserViewController 中放置一些属性来存储参数。然后覆盖 prepareForSegue 并设置其中的属性。有关更多详细信息,请参阅此答案:

正确访问 segue 的目标视图控制器以分配协议委托

于 2011-12-26T15:06:36.610 回答