【发布时间】:2014-09-15 10:37:28
【问题描述】:
我在 UITableview 中添加了动态生成的部分。我有一小段代码可以计算出将节标题放在哪个索引处。所以我的numberOfSectionsInTableView 和numberOfRowsInSection 代码效果很好。
问题是我的 tableview 看起来像这样,比如我的 numberOfRowsInSection 返回 2、3、5:
-==A==-
亚伦
亚历克斯
-==B==-
亚伦
亚历克斯
阿尔弗雷德
-==C==-
Aaron
Alex
Alfred
Bart
Casey
所以基本上每次新部分开始时,indexPath.row 都会重置回 0?
有没有办法解决这个问题?还是我必须自己繁琐地维护每个单元格需要哪个indexPath.row?
现在看来我必须遍历我的名字数组,找出我所在的indexPath.section,然后去计算每个部分有多少个字母并计算偏移量。
【问题讨论】:
-
这是正常的,每个部分的行重置。您可以修改您的数据结构以拥有一个数组(对于节)数组(对于行)并返回 array[section].count 的 numberofrowsinsection。
-
我想补充一点:在你的假设索引路径将是徒劳的。它专门设计用于不在整个阵列中发现。这些协议方法旨在像现实一样工作。你说的是“第二节第一行”,对吧?这就是你必须考虑的方式。
-
再想一想:捷径确实是计算绝对指数,这取决于你用它做什么。如果您以后想弄乱单元格高度和动态添加/过滤,请考虑数组中的数组,否则绝对索引将变得很麻烦。
标签: ios uitableview sections