1

我有一个配置为将 Segue 推送到另一个视图的 tableView。该表分为 2 个部分。当我推到下一个视图时,我也传输数据,但这些部分有问题。

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

在 Storybaords 和 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 部分和第 1 部分?

4

2 回答 2

0
  1. 您应该将数据显示在cellForRowAtIndexPath:.
  2. 您只需使用 Push Segue 将 IB 中的原型单元链接到下一个视图控制器。
  3. 然后,您可以prepareForSegue将所需的数据传递给新的视图控制器。

正确的sectionrow参数将在indexPath变量中。

于 2012-06-03T09:59:18.357 回答
0

哥们,在哪section = indexpath.section?这是一个 prepareForSegue 示例;

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    NSIndexPath *indexpath = [self.tableView indexPathForCell:sender];
//    indexpath.section
//    indexpath.row
}
于 2012-06-03T10:51:52.040 回答