Ios 与导航控制器基础知识搏斗
我一直在努力让一个基本的NavigationController工作,它可以让我轻松地在视图之间来回切换。我觉得我正在进步,但我显然错过了一些关键的东西。我现在让我的模板应用程序推送视图,但只需添加指向目标NIB的initWithNibName。尝试向这些辅助视图添加任何功能会导致应用程序因SIGABRT错误而崩溃。我无法想象这是对的。。如果我只是有一个普通的笔尖,开关工作正常。我唯一添加到secondViewcontroller的是一个标签和一个按钮,用于用一些垃圾文本填充标签。然而,当我按下切换按钮按下这个视图时,我得到了SIGABRT。我希望能够将功能放在不同的视图控制器中。我觉得我离得很近,但这太让人恼火了。有人能指出我哪里出了错吗Ios 与导航控制器基础知识搏斗,ios,uinavigationcontroller,viewcontroller,Ios,Uinavigationcontroller,Viewcontroller,我一直在努力让一个基本的NavigationController工作,它可以让我轻松地在视图之间来回切换。我觉得我正在进步,但我显然错过了一些关键的东西。我现在让我的模板应用程序推送视图,但只需添加指向目标NIB的initWithNibName。尝试向这些辅助视图添加任何功能会导致应用程序因SIGABRT错误而崩溃。我无法想象这是对的。。如果我只是有一个普通的笔尖,开关工作正常。我唯一添加到secondViewcontroller的是一个标签和一个按钮,用于用一些垃圾文本填充标签。然而,当我按下
#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];
}
而不是
UIViewController *secondViewController = [[UIViewController alloc] initWithNibName:@"secondViewController" bundle:nil];
这样说:
MySecondViewController *secondViewController = [[MySecondViewController alloc] initWithNibName:@"secondViewController" bundle:nil];
MyMySecondViewController
应该是您的UIViewController
的名称,还要检查XIB的名称是否真正被称为secondViewController。最后:
- 去你的银行
- 选择文件的所有者文件
- 选择inspector中的第三个选项卡
- 检查类的名称。它应该是
,而不是MySecondViewController
UIViewController