0

我现在有一个包含多个部分的 UITableView。仅当我添加一个带有部分标题(ABCDE 等)的起始字母的列表作为 SectionIndexTitles 并且该列表尚未过滤为双精度值时。

所以列表将是:

  • 一个
    • 标题 = ABBA
    • 光盘 1
    • 光盘 2
  • 一个
    • 接头 = AC/DC
    • 光盘 1
    • 光盘 2
    • 标题 = 后街男孩
    • 光盘 1
    • 光盘 2
  • D
    • 标题 = D12
    • 光盘 1
    • 光盘 2
  • D
    • 标头 = Damien Rice
    • 光盘 1
    • 光盘 2
  • D
    • 标头 = David Guetta
    • 光盘 1
    • 光盘 2
    • 标头 = 猫王
    • 光盘 1
    • 光盘 2
    • 标题 = 埃里克克莱普顿
    • 光盘 1
    • 光盘 2

一切正常,但我想要的是以下内容:

  • 一个
    • 标题 = ABBA
    • 光盘 1
    • 光盘 2
    • 接头 = AC/DC
    • 光盘 1
    • 光盘 2
    • 标题 = 后街男孩
    • 光盘 1
    • 光盘 2
  • D
    • 标题 = D12
    • 光盘 1
    • 光盘 2
    • 标头 = Damien Rice
    • 光盘 1
    • 光盘 2
    • 标头 = David Guetta
    • 光盘 1
    • 光盘 2
    • 标头 = 猫王
    • 光盘 1
    • 光盘 2
    • 标题 = 埃里克克莱普顿
    • 光盘 1
    • 光盘 2

如果你去字母 E,你会从埃尔维斯普雷斯利开始。

获取所有可用的第一个字母不是问题,但如果我运行应用程序并单击 E,列表将转到 D12 而不是 Elivs Presley。

所以问题与 SectionIndexTitles 的索引和部分自身有关,但我找不到解决方案......

4

1 回答 1

2

尝试区分您的数组,然后再将其用于SectionIndexTitles

sectionTitles = sectionTitles.Distinct().ToList();

因此,您将删除节标题中的双 A 和其他字母。

请注意,您应该检查SectionFor方法代码以正确滚动UITableView到您的部分。

于 2013-01-16T08:12:41.477 回答