一个TableViewController有2个部分链接到1个DetailView?

时间:2014-02-06 01:41:31

标签: objective-c xcode core-data

所以在我的项目中,我有一个包含2个部分的HistoryTableViewController。一部分是PeopleYouOwe,另一部分是PeopleWhoOweYou。我如何能够连接这个tableviewcontroller并将其链接到将根据我的部分显示不同数据的详细视图?

3 个答案:

答案 0 :(得分:2)

使用prepareForSegue尝试以下方法 -
创建tableView出口名为 myTableView

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
 // Get the new view controller using [segue destinationViewController].
 // Pass the selected object to the new view controller.

 NSIndexPath *path = [self.myTableView indexPathForSelectedRow];

 if (path.section == 0)
 {
     if ([segue.identifier isEqualToString:@"PeopleYouOwe"])
     {
         PeopleYouOwe *peopleYouOweVC = segue.destinationViewController;
         // you can get data of cell as array[path.row]
     }
 }
 else if (path.section == 1)
 {
     if ([segue.identifier isEqualToString:@"PeopleWhoOweYou"])
     {
         PeopleWhoOweYou *peopleWhoOweYou = segue.destinationViewController;
          // you can get data of cell as array[path.row]
     }

 }


}     

答案 1 :(得分:0)

您可以使用UITableViews提供的委托方法,如下所示:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSInteger row = indexPath.row;
    NSInteger section = indexPath.section;
    if(section == 0) // example
    {
        // do whatever
    }
    else if (section == 1)
    {
        // do something else
    }
}

如果这不是您想要的,您需要提供更多详细信息,最好是一些代码来显示您已有的内容。你的问题很模糊。

答案 2 :(得分:0)

如果您更喜欢prepareForSegue,可以使用以下内容:

NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];

然后根据部分和行采取行动。