Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 推送UIViewController崩溃_Ios_Ipad_Ios5_Uiviewcontroller_Uinavigationcontroller - Fatal编程技术网

Ios 推送UIViewController崩溃

Ios 推送UIViewController崩溃,ios,ipad,ios5,uiviewcontroller,uinavigationcontroller,Ios,Ipad,Ios5,Uiviewcontroller,Uinavigationcontroller,我有以下代码推送UIViewController。此代码是在按下UIButton时执行的目标方法: -(void)pushNavigationController { ParameterListerViewController *plvc = [[ParameterListerViewController alloc] init]; UINavigationController *nvc = [[UINavigationController alloc] initWith

我有以下代码推送UIViewController。此代码是在按下UIButton时执行的目标方法:

-(void)pushNavigationController
{
    ParameterListerViewController *plvc = [[ParameterListerViewController alloc] init];    
    UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:plvc];    
    self.navigationController.navigationBarHidden = YES;
    plvc.numberOfParameters = [[numberOfTrialsField text] intValue];

    NSLog(@"about to push the navigation controller");

    [self.navigationController pushViewController:nvc animated:YES];
}
直到NSLog语句出现,它才会启动,但在那之后,视图控制器再也不会被推送,应用程序就会崩溃。以下是ParameterListerViewController的头文件:


有什么建议吗?

导航控制器的视图必须位于视图层次结构中。 除非nav控制器设置为UIWindow的rootViewController,否则需要显式添加它

试试这个:

    [self.view addSubview:self.nvc.view];

如果是这种情况,您将不需要执行pushViewController-plvc将已可见。

为什么要尝试将导航控制器推到另一个控制器上?请尝试self.navigationController pushViewController:plvc动画:是幸运的是,这也会崩溃。我忘了提到我之前试过推动plvc。我创建了一个全新的项目,只是为了确保它不是那些“神秘”的bug之一,而且仍然无法工作。我在问题中添加了更多细节。当它崩溃时,控制台中有什么?如果看不到您的崩溃日志/控制台输出,将很难帮助您。根据以前的经验,另一个可能的原因是主视图在NIB文件中设置不正确。确保视图出口已连接到文件所有者,并且文件所有者已设置为视图控制器类参数ListerViewController。如果是这种情况,你应该在控制台中看到一个错误。你说的是正确的,但这不是他的问题的答案。他的错误是他推的是UINavigationController而不是UIViewController。罗格的评论是正确的答案。罗格的回答只能部分解决这个问题,因为OP的导航控制器视图仍然不在视图层次结构中。它似乎不是窗口的rootViewController,所以它只是挂在那里,没有展开。@Rayfleck:这不起作用。我的导航控制器是UIWindow的rootViewController,因此我不需要添加任何子视图。我更新了我的问题,提供了更多相关细节。帮助?好的,那还不清楚。当您尝试推动plvc时,会发生什么?你犯了什么错误?我错过了plvc中的[super loadView],这把一切都搞砸了!
SettingsViewController.h
------------------------
@interface SettingsViewController : UIViewController <UITextFieldDelegate, UIPickerViewDelegate, UITableViewDelegate, UITableViewDataSource>
{   
    id <SettingsViewDelegate> delegate;
}
@end
@interface ItemViewController : UITableViewController 
{
}
@end
    [self.view addSubview:self.nvc.view];