2014-01-31 63 views
0

我有一个tableviewcontroller嵌入在navigationbarler是一个tabbarcontroller的一部分。试图创建一个可变数据级别的tableview结构

当显示初始tableviewcontroller时,它会列出项目。其中一些项目可能有子项目,也可能有子项目,有些可能不具备。换句话说,每个项目的深度都是可变的。

我想拥有的tableview控制器,当用户使用此代码点击一个项目实例化本身就是一个新的实例:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; 

    ProtocolViewController *newVC = (ProtocolViewController *)[mainStoryboard instantiateViewControllerWithIdentifier: @"ProtocolView"]; 

    [self.navigationController pushViewController:newVC animated:YES]; 
} 

但是,它总是崩溃,当我在tableviewcontroller按项目(初始)并突出显示故事板行。这是怎么回事?每个级别都会有不同的数据,我想我可以通过传递某种参考来加载不同的数据,但应该显示哪些数据,但现在,我只是试图让它推动反复使用同一个tableviewcontroller的新实例。

任何帮助表示赞赏....

回答

0

嗯......我想这只是指针代码到被顶了起来,因为无论引用的故事板的这些方式,使这项工作的故事板。

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:[[NSBundle mainBundle].infoDictionary objectForKey:@"UIMainStoryboardFile"] bundle:[NSBundle mainBundle]]; 

- 或 -

UIStoryboard *mainStoryboard = self.storyboard; 

:)