拨打第二个XIB和班级

时间:2011-05-09 21:31:25

标签: iphone objective-c xib

我正在慢慢地教自己Obj-C,我有一个带有2个类的项目,每个类都有一个与之配合的XIB。

为便于测试,它们被命名为One和Two

我更改了plist以使应用程序从两个而不是一个开始,这是有效的。

所以我确信(我希望)类和XIB都可以。

因此,我想要调用(查看open或其在ObjC中调用的任何内容)的两个类和随之而来的XIB。然后我希望能够回到One。应该简单呃?我已经搞砸了这两天,但仍然没有工作。

有没有人有示例代码来说明如何执行此操作?我已经找到了几个这方面的文档,但我想我很慢,因为我无法弄明白。

谢谢你的帮助!


更多信息:编辑:bm是第二个XIB

    bm *screen = [[[bm alloc] initWithNibName:@"bm" bundle:nil] autorelease];

我添加了上面的代码,然后在这一行上出现了这个错误

2011-05-09 14:48:23.242 HW [7265:207] * - [bm initWithNibName:bundle:]:无法识别的选择器发送到实例0x392e820 2011-05-09 14:48:23.244硬件[7265:207] 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' ** - [bm initWithNibName:bundle:]:无法识别的选择器发送到实例0x392e820'

1 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点,这完全取决于你想要它的样子。

将第二个视图显示为模态视图控制器:

ViewControllerName *viewController = [[[ViewControllerName alloc] initWithNibName:@"ViewControllerName" bundle:nil] autorelease];
[self presentModalViewController:viewController animated:YES];

或者您实际上可以从UIWindow

中交换视图
UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
ViewControllerName *viewController = [[[ViewControllerName alloc] initWithNibName:@"ViewControllerName" bundle:nil] autorelease];
window.rootViewController = viewController;