Segue从XIB Viewcontroller中的segmentcontrol到Storyboard Viewcontroller

问题描述:

我在xib中创建了一个viewcontroller(UISegmentController.h,UISegmentController.m,UISegmentController.xib)中的段控件。现在我试图继续(理想地推)到我创建的Storyboard viewcontroller(ChartviewController.h,ChartviewController.m)。此ViewController将保存图像。我试图执行此推如下:Segue从XIB Viewcontroller中的segmentcontrol到Storyboard Viewcontroller

-(IBAction) segmentedControlIndexChanged; 
{ 

//some code 
ChartViewController *chartviewpage = [[ChartViewController alloc] initWithNibName:@"ChartViewController" bundle:nil]; 
[self.navigationController pushViewController:chartviewpage animated:YES]; 
//some code 
} 

我用来实现此代码到另一个xib viewcontroller,它工作正常。但现在不是用条纹视图控制器。 然而,我收到异常如下:

终止应用程序由于未捕获的异常“NSInternalInconsistencyException”,原因:“无法在捆装载NIB:‘一个NSBundle(加载)’名为‘ChartViewController’” *第一掷调用堆栈: (0x15e6012 0x11b3e7e 0x15e5deb 0x53ffac 0x404e37 0x405418 0x405648 0x405882 0x405b2a 0x41cef5 0x41cfdb 0x41d286 0x41d381 0x41deab 0x41e4a3 0x41e098 0x4048 0x11c7705 0x327920 0x3278b8 0x3e8671 0x3e8bcf 0x3e86a6 0x43d597 0x43f83b 0x35716d 0x357552 0x3353aa 0x326cf8 0x22d1df9 0x22d1ad0 0x155bbf5 0x155b962 0x158cbb6 0x158bf44 0x158be1b 0x22d07e3 0x22d0668 0x32465c 0x1d0d 0x1c35) libC++ abi.dylib:terminate调用抛出异常 (lldb)

你能帮忙吗?

非常感谢!

我终于弄明白了,做了一些更多的研究。首先,需要在他们试图转换的故事板中实例化控制器(ChartViewcontroller)。然后,您需要给控制器提供故事板ID名称(ChartID),可以在选择控制器后在文件检查器中找到它。最后执行推送到新的控制器。

希望这可以帮助别人。

UIStoryboard * myStoryboard = [UIStoryboard storyboardWithName:@“MainStoryboard”bundle:nil]; ChartViewController * chartpage = [myStoryboard instantiateViewControllerWithIdentifier:@“ChartID”];

//将选定的对象传递给新的视图控制器。 [self.navigationController pushViewController:chartpage animated:YES];