indexpath.row为每个部分重新启动0

时间:2013-11-07 16:11:39

标签: ios tableview

我有一个带有搜索栏,索引栏和部分的tableview。在我的tableview中,我显示了机场的名称。当我点击其中一个名字时,我会得到一个新视图,其中包含有关该人的更多信息。我的问题是每个部分之后indexpath.row开始重新计数。因此,如果我转到第3部分并选择该部分下面的第一行,则indexpath.row为0.因此,我将始终在第一部分中获得有关名称的更多信息。

示例:

== A部分==

阿姆斯特丹机场1

阿姆斯特丹机场2

阿姆斯特丹机场3

== B部分==

布鲁塞尔机场1

布鲁塞尔机场2

如果我在列表中选择'Brussels airport1',则indexpath.row返回0.所以如果我在我的数组中使用它,它就会像我选择'Amsterdam airport1'一样,因为这是我的第一个项目阵列。

我有一个叫做机场的数组,用于为索引栏创建一个名为airportDictionary的词典。然后当选择一个项目时,我使用indexpath.row检查我的机场阵列我选择的机场。

任何人都知道如何解决这个问题?如果您需要更多解释或代码,请询问!

3 个答案:

答案 0 :(得分:5)

NSIndexPath有一个完全相同的东西 - sectionrow可以用来区分它的位置。

阿姆斯特丹机场1

indexPath.section == 0
indexPath.row     == 0

布鲁塞尔机场1

indexPath.section == 1
indexPath.row     == 0

答案 1 :(得分:2)

您需要正确整理数据。有一个数组数组。外部数组表示部分,每个内部数组表示该部分的行。

使用indexPath.section访问正确的外部数组,然后使用indexPath.row访问部分数组中的正确值。

答案 2 :(得分:0)

这是什么部分的意思。 例如,如果你有第1部分有两行 索引路径有两个值,即0-0和0-1 然后在第2部分再次有两行 indexpath再次有两个值1-0和1-1。