如何在另一个表对象中显示所选单元格的子单元格?

时间:2012-12-07 06:51:49

标签: iphone objective-c ios xcode cocoa

我有一个分组表视图,每组中有多个单元格。我想要的是,当用户选择任何特定单元格时;我想显示特定选定单元格的子元素。

例如:如果用户选择"A",那么我应该显示"A1","A2","A3"... Or "B"然后它应该显示"B1","B2","B3"...**在另一个viewcontroller的表对象中。**

对子值进行硬编码没有限制。我的 segue已从表视图连接到另一个视图控制器

3 个答案:

答案 0 :(得分:0)

您需要使用折叠表的概念

结帐 step by step explanation 以扩展&折叠部分

Expand Sections

您也可以在此处查看 sample code

Sample Code

享受编程

答案 1 :(得分:0)

它也称为嵌套表视图。请参阅此blog,示例代码为here

答案 2 :(得分:0)

在第二个视图控制器中创建属性

@property (nonatomic) NSIndexPath *parentIndex;

并在.m文件中合成

@synthesize parentIndex;

在你的第一个tableview控制器中创建一个ivar

NSIndexPath *passIndexPath;

并在您的表委托

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    passIndexPath = indexPath;
   [self performSegueWithIdentifier:@"push_SecondTableViewController" sender:self];
}

现在实现以下功能,它将在您触发segue时正确运行

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

    if ([[segue identifier] isEqualToString:@"push_SecondTableViewController"])
    {
      Your_SecondViewController *viewController = [segue destinationViewController];

      viewController.parentIndex = passIndexPath; 
     //Here we are passing the indexpath of the selected cell so now you can set the 
     //data of the table in second view controller
    }
}

现在在您的SecondView控制器中,在parentIndex的帮助下,您知道哪个部分选择了哪一行,您可以相应地显示数据

您甚至可以为子单元格传递数据数组。

希望这会对你有所帮助,