我的UITableView中目前有7行,并且我正在使用segues推送详细视图。但是,我目前有两个不同的视图控制器,想要这样的东西:

如果选择了行1和2,则输入:“ showMenuDetail1”
如果选择了第3至第4行,则输入:showMenuDetail2“

这就是我目前所拥有的:我不确定如何将行准确分配给特定的行。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"showMenuDetail1"]) {
        NSIndexPath *indexPath = [self.menuTableView indexPathForSelectedRow];
        HomeDetailViewController *HDViewController = segue.destinationViewController;
        HDViewController.theName = [[menu objectAtIndex:indexPath.row] name];
    }
}


任何帮助,将不胜感激!我知道这是一个if and else语句,但是我不确定如何写出确切条件。谢谢!

最佳答案

创建两个segue。重要思想是不要将任何一个都附加到表视图单元格,而是将它们都从包含表的视图控制器拖动到它们各自的目的地。给他们每个人一个标识符。

然后在tableView:didSelectRowAtIndexPath:中检查indexPath.row并触发适当的segue。

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

    if (indexPath.row < 2) { // or whatever
        [self performSegueWithIdentifier:@"SegueForRows0and1" sender:self];
    }
    // etc...
}


如果需要,您仍然可以实现prepareForSegue,包括(如果需要)引用tableView的indexPathForSelectedRow

关于ios - 设置特定的UITableView行以推送特定的详细信息 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16738916/

10-12 14:54