6

我正在使用 Xcode 4.3.3 开发一个主详细信息应用程序,现在在主视图控制器中,我设法加载了一个名为“Fav Real”的附加视图控制器
当这个视图控制器加载时,它将包含从 sqlite 数据库中获取的不同项目到一个表视图控制器。
我的问题在这里,当我单击任何加载的行时,我需要将不同的 viewController 加载到 detailViewController 中,以加载另一个视图控制器而不是第一个。
我实际上迷路了,我尝试执行以下架构,但我不知道如何实现我的目标......任何帮助将不胜感激。在此处输入图像描述

如图所示,项目将在 FavReal tableView 中正确加载,但我的目标是当我单击任何行时,将加载右侧显示的“详细信息”而不是 DetailsViewController。
我在 FavReal.m 中尝试了这段代码,但我总是得到:“应用程序试图在目标上推送一个 nil 视图控制器。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

 Details * vc4 = [self.storyboard instantiateViewControllerWithIdentifier:@"Details"];
 [self.navigationController pushViewController:vc4 animated:YES];

}

感谢您的宝贵时间,如果需要更多详细信息,请告诉我

4

1 回答 1

0

万一有人遇到和我一样的问题,我找到的唯一解决方案是不加载不同的视图控制器并替换原来的detailViewController,但实际的解决方案是创建一个新的故事板并使其在收藏夹按钮时出现点击,这样你就会有一个漂亮的时尚效果,并保持你的数据呈现准确。为此,请使用以下代码行:

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];
UIViewController* initialHelpView = [storyboard instantiateInitialViewController];

initialHelpView.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentModalViewController:initialHelpView animated:YES];

您可以根据自己的喜好自由更改模态演示。
祝你好运

于 2013-03-22T10:41:06.737 回答