Objective c 从按钮调用子视图:应用程序关闭
当我的应用程序正常启动且没有错误时,当我尝试单击按钮以显示另一个视图时,应用程序将关闭。Objective c 从按钮调用子视图:应用程序关闭,objective-c,uinavigationcontroller,console,uibutton,subview,Objective C,Uinavigationcontroller,Console,Uibutton,Subview,当我的应用程序正常启动且没有错误时,当我尝试单击按钮以显示另一个视图时,应用程序将关闭。 在调试器控制台上,显示以下内容: "SEM2REDO[13487:b603] Application tried to push a nil view controller on target <UINavigationController: 0x4ea5be0>" } 这是我的SEM2REDOViewController中显示第二个视图的方法 - (IBAction)chooseFirstM
在调试器控制台上,显示以下内容:
"SEM2REDO[13487:b603] Application tried to push a nil view controller on target <UINavigationController: 0x4ea5be0>"
}
这是我的SEM2REDOViewController中显示第二个视图的方法
- (IBAction)chooseFirstMeeting:(id)sender {
SelectRotationController *selectView = [[SelectRotationController alloc]
initWithNibName:@"SelectView" bundle:[NSBundle mainBundle]];
[selectView.navigationItem setTitle:@"Select First Meeting"];
[self.navigationController pushViewController:self.selectRotationController animated:YES];
self.selectRotationController = selectView;
[selectView release];
}
如果这是一个简单的问题,我很抱歉:我是一名高中生,正在尝试独立学习编程,因此非常感谢您的帮助 看起来您正在释放导航控制器,然后尝试向其添加视图控制器
[self.window makeKeyAndVisible];
SEM2REDOViewController *firstController = [[SEM2REDOViewController alloc] initWithNibName:@"SEM2REDOViewController" bundle:nil]; UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:firstController];
[self setNavController:navigationController];
[window addSubview:[navigationController view]];
[navigationController release]; [firstController release];
return YES;
将其更改为
SEM2REDOViewController *firstController = [[[SEM2REDOViewController alloc] initWithNibName:@"SEM2REDOViewController" bundle:nil] autorelease];
self.navigationController = [[[UINavigationController alloc]initWithRootViewController: firstController]autorelease];
[window addSubview:self.navigationController.view];
[self.window makeKeyAndVisible];
return YES;
这将解决您的问题。如果您在理解某些内容时有任何问题,请告诉我。您的第二段代码与第一段代码相同。你想编辑它吗?另外,使用代码格式——只需突出显示代码,然后选择表单顶部的大括号。尝试更改行[window addSubview….to self.window.rootViewController=self.navigationController;尝试通过代码断点..检查它成功通过了哪一行,在哪一行崩溃了?这是断点下所说的全部内容…我不知道这意味着什么。检查youtube教程中的Xcode调试..将非常有用我不能让你理解如何在这里调试,而且你也没有足够的声誉,我们可以在聊天室聊天来轻松解决你的问题。所以请检查教程,然后尝试通过代码调试。再次检查它在哪一行崩溃。谢谢!我更新了我的界面(有时它不会自动读取类文件)现在它工作了!谢谢!
[self.window makeKeyAndVisible];
SEM2REDOViewController *firstController = [[SEM2REDOViewController alloc] initWithNibName:@"SEM2REDOViewController" bundle:nil]; UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:firstController];
[self setNavController:navigationController];
[window addSubview:[navigationController view]];
[navigationController release]; [firstController release];
return YES;
SEM2REDOViewController *firstController = [[[SEM2REDOViewController alloc] initWithNibName:@"SEM2REDOViewController" bundle:nil] autorelease];
self.navigationController = [[[UINavigationController alloc]initWithRootViewController: firstController]autorelease];
[window addSubview:self.navigationController.view];
[self.window makeKeyAndVisible];
return YES;