Objective c 从表格中的2个部分推送序列

Objective c 从表格中的2个部分推送序列,objective-c,ios,uitableview,storyboard,segue,Objective C,Ios,Uitableview,Storyboard,Segue,我有一个配置为将Segue推送到另一个视图的tableView。 该表分为两部分。 当我推到下一个视图时,我会传输数据,并且我的部分有问题 假设我的节0有2行,节1有1行。 如何检查第1节的行 在我为segue做准备之前 row = indexPath.row; if (section == 0) { if (row == 0) data = @"Zero"; if (row == 1) data = @"One"; } if (sectio

我有一个配置为将Segue推送到另一个视图的tableView。 该表分为两部分。 当我推到下一个视图时,我会传输数据,并且我的部分有问题

假设我的节0有2行,节1有1行。 如何检查第1节的行

在我为segue做准备之前

row = indexPath.row;

if (section == 0)
{
    if (row == 0)
        data = @"Zero";

    if (row == 1)
        data = @"One";
}

if (section == 1)
{
    if (row == 0)
        data = @"Two";

    if (row == 1)
        data = @"Three";
}
现在它不起作用了。当我单击第1节中的0行时,它将0放入数据中,而不是2 为什么呢? 第0节和第1节之间如何有效地区别

您应该设置在cellForRowAtIndexPath:中的单元格中显示的数据。 您只需使用推送序列将IB中的原型单元链接到下一个视图控制器。 然后使用prepareforsgue将所需的数据传递给新的视图控制器。 正确的节和行参数将在indexPath变量中。

Dude,其中是section=indexPath.section? 下面是一个prepareForSegue示例

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    NSIndexPath *indexpath = [self.tableView indexPathForCell:sender];
//    indexpath.section
//    indexpath.row
}

如果indexPath为nil,则会得到section=0和row=0。代码需要更多的上下文。这些if没有什么问题。也许现在问题更清楚了,我添加了忘记添加的第一行代码。行在任何情况下都不是零。Tnx Mundi,这正是我所做的。但我想在按下不同的部分时传递不同的数据。我唯一能区别单元格的方法是只按行而不是按节。这就是为什么当我按下第0节第0行时,我会得到与按下第1节第0行相同的结果,结果应该不同。否。你可以检查indexPath.section和indexPath.row。我回家后会试试,我想我已经试过了,但我愿意再试一次。Tnx!我的问题是indexPathForCell:sender你说的,我写了indexPathForRow:sender。现在if部分工作得很好!