将section和row indexpath分配给prepareForSeague

时间:2014-05-12 17:43:02

标签: ios uitableview

我正在尝试为indexpath.section获取indexpath.rowprepareForSeague。我可以通过indexpath.row没有问题但是我正在努力将它与部分集成。它传递正确的数据,但不是在第一部分之外,因为我不知道如何设置部分。

所以基本上我需要知道它在哪个部分。

我看了objectsAtIndexes

NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
dynamicDetailTableViewController *destViewController = segue.destinationViewController;
NSLog(@" indexPath row %d",indexPath.row);
NSLog(@" indexPath section %d",indexPath.section);

// Assume self.view is the table view
destViewController.titleString = [self.namesArray objectAtIndex: indexPath.row];
//Health
destViewController.healthArray = [self.healthArray objectAtIndex:indexPath.row];

修改

为了更清楚,它确实有效但是我有不同的部分所以在第一部分之后它没有传递正确的值。它只传递第一个Sections值正确,因为它只根据行而不是部分计算索引路径。我也需要它来计算部分,但不确定如何。

1 个答案:

答案 0 :(得分:0)

如果您有多个部分和行,我猜您的数据结构是错误的。您的数据结构应如下所示

第1节

---->第1行

---->第2行

---->第3行

第2节

---->第1行

---->第2行

第3节

---->第1行

---->第2行

---->第3行

---->第4行

要获取值,您的代码应该类似于

[[self.array objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];

上面的代码说明了针对特定row的具体section

在您的情况下似乎并非如此,您已将所有数据都放在一个数组中,其中应该是数组数组。

你得到错误的值,因为对于每个indexPath.section你的indexPath.row从0开始,所以对于第1部分它工作正常,但不适用于其他部分..

希望它有所帮助。