从UIViewController导航到UITableViewController

时间:2012-07-31 02:03:40

标签: iphone objective-c xcode uiviewcontroller

我正在尝试使用此操作按钮从UIViewController导航到UITableViewController。显然我做错了所以它错过了我的故事板中链接到UITableViewController的UINavigationController。或类似的东西。当我按下按钮时,此代码显示TableView,但导航栏丢失,因此无法返回,如果我在桌面视图中滑动,应用程序崩溃。

-(IBAction)nextButtonPressed:(id)sender{

    ResultsTableViewController *nextController = [[self storyboard] instantiateViewControllerWithIdentifier:@"Results Controller"];
    nextController.objectsArray = resultObjectsArray;
    [self presentModalViewController:nextController animated:YES];
    [nextController release];
}

我应该将UINavigationController与UIViewController而不是UITableViewController链接,这会有效吗?或者我应该针对UINavigationController定位上面的代码吗?怎么做这个简单的事情?感谢。

编辑1:

将导航控制器添加到UIViewController,然后像这样推送到TableView:

[self.navigationController presentModalViewController:nextController animated:YES]

没有解决问题。滑动时它仍然会崩溃。

编辑2:

如果我喜欢这样:

[self.navigationController pushViewController:nextController animated:YES]

一旦桌面视图在屏幕上可见,它就会崩溃。我现在可以通过“后退”按钮看一下导航栏。这是崩溃报告:

- [__ NSCFType isViewLoaded]:发送到实例的无法识别的选择器。 Rødvinsguiden[318:f803] * 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [__ NSCFType isViewLoaded]:无法识别的选择器发送到实例0x6b9d2e0'

1 个答案:

答案 0 :(得分:1)

你忘了推入当前视图的navigationController,而不是只推动没有它的新viewController。

[self.navigationController presentModalViewController:nextController animated:YES]