我一直在试着让一个基本的NavigationController工作,让我可以轻松地在视图之间来回切换。我觉得我在取得进步,但我显然错过了一些关键的东西。我现在有我的模板应用程序推送视图,但只能通过添加指向目标NIB的initWithNibName。尝试向这些辅助视图添加任何功能会导致应用程序因SIGABRT错误而崩溃。我无法想象这是对的..如果我只是简单的NIB,那么开关工作正常。我添加到secondViewcontroller的唯一的东西是一个标签和一个按钮,用一些垃圾文本填充标签。然而,当我按下开关按钮移动推动这个视图我得到了SIGABRT。我希望能够在不同的视图控制器中放置功能。我觉得我很近,但是这是如此恶化。任何人都可以指出我哪里出错了?
#import "mainViewController.h"
@implementation mainViewController
-(void)switchView {
UIViewController *secondViewController = [[UIViewController alloc] initWithNibName:@"secondViewController" bundle:nil];
secondViewController.title = @"My First View";
[self.navigationController pushViewController:secondViewController animated:YES];
[secondViewController release];
}
-(void)switchViewTwo {
UIViewController *thirdViewController = [[UIViewController alloc] initWithNibName:@"thirdViewController" bundle:nil];
thirdViewController.title = @"My second View";
thirdViewController.view.backgroundColor = [UIColor redColor];
[self.navigationController pushViewController:thirdViewController animated:YES];
[thirdViewController release];
}
答案 0 :(得分:0)
而不是
UIViewController *secondViewController = [[UIViewController alloc] initWithNibName:@"secondViewController" bundle:nil];
把这个:
MySecondViewController *secondViewController = [[MySecondViewController alloc] initWithNibName:@"secondViewController" bundle:nil];
我的MySecondViewController
应该是UIViewController
的名称,还要检查XIB的名称是否真的称为secondViewController。最后:
MySecondViewController
而不是UIViewController
。