1

我想要一个标签栏控制器,然后是一个带有相应详细视图的表格视图控制器。我是新手,所以我尝试结合 Apple 的 SimpleDrillDown:http: //developer.apple.com/library/ios/#samplecode/SimpleDrillDown/Introduction/Intro.html

...与 Ray Wenderlich 的故事板教程: http ://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

Ray 向您展示了如何设置选项卡并获得第一个表格视图,但没有向您展示如何获得详细视图,因此我尝试学习如何从 Apple 的 SimpleDrillDown 获取详细视图(它没有有标签栏控制器)。

我的程序运行时没有错误,但是当您单击表格视图 (FactSheetsViewController) 中的一行时,它会保持蓝色(选中)并且永​​远不会与我的 FactSheetsDetailViewController 保持一致。如果我在这个方法的表视图类中放置一个断点:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if ([[segue identifier] isEqualToString:@"DisplaySelectedFactSheet"]) {   
        NSIndexPath *selectedRowIndex = [self.tableView indexPathForSelectedRow];
        FactSheetsDetailViewController *detailViewController = [segue destinationViewController];
        detailViewController.factSheet = [dataController objectInListAtIndex:selectedRowIndex.row];     
    }
}

当我运行程序并单击一个单元格时,永远不会到达断点。

我不确定要发布什么其他代码,因为我不确定我做错了什么。我想知道我是否在我的 AppDelegate 中错误地初始化了一些东西?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
    UINavigationController *navigationController = [[tabBarController viewControllers] objectAtIndex:0];   
    FactSheetsViewController *factSheetsViewController = [[navigationController viewControllers] objectAtIndex:0];   
    DataController *controller = [[DataController alloc] init];
    factSheetsViewController.dataController = controller;
    self.dataController = controller;

    return YES;
 }

或者,如果我没有以某种方式在情节提要中正确设置。我在属性检查器中将标识符设置为从 FactSheetsViewController 到我的 FactSheetsDetailView 到“DisplaySelectedFactSheet”的序列。

如果有帮助,我很乐意发布更多详细信息 - 请让我知道!谢谢你。

4

1 回答 1

1

在 Xcode 中,您需要在表格单元格(原型)和FactSheetsDetailViewController. 然后,同样在 Xcode 中,将 segue 名称编辑为DisplaySelectedFactSheet.

于 2013-05-06T17:19:29.683 回答