1

我正在尝试使用此操作按钮从 UIViewController 导航到 UITableViewController。显然我做错了什么,所以它丢失了在我的故事板中链接到 UITableViewController 的 UINavigationController。或类似的东西。当我按下按钮时,此代码会显示 TableView,但缺少导航栏,因此无法返回,如果我在 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]

一旦 tableview 在屏幕上可见,它就会崩溃。不过,我现在用“后退”按钮瞥了一眼导航栏。这是来自此的崩溃报告:

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

4

1 回答 1

1

您忘记使用当前视图的导航控制器进行推送,而只是在没有它的情况下推送新的视图控制器。

[self.navigationController presentModalViewController:nextController animated:YES]
于 2012-07-31T02:23:11.407 回答