繁体   English   中英

在UITableView中遇到部分问题

[英]Having trouble with sections in UITableView

我的搜索方法中有以下代码可更新表格视图。

for (int x = 0; x < [array count]; x++) {
//network stuff here
self.searchedReservations = [aSearchObjectType objectsFromServerDictionaries:aResultsArray];
[self.aTableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];
}

数组中的每个对象代表表中的一个部分,在大多数情况下,计数为4,因此为4个部分。

现在,该代码正在为表格单元格中的所有部分加载相同的数据。 而不是表的每个部分的唯一数据。

这是加载单元的代码。 我缺少一些将数据映射到表的右侧的逻辑。

MyClass *object = [self.searchedReservations objectAtIndex:iIndexPath.row];
cell.textLabel.text = object.customerFullName;

我假设您在“ cellForRowAtIndexPath”方法中具有以下代码:

MyClass *object = [self.searchedReservations objectAtIndex:iIndexPath.row];
cell.textLabel.text = object.customerFullName;

表被组织成几个部分,然后在每个部分中都有行。 对于每个部分,行再次从零开始。

如果您位于第0部分,则在加载该单元格0时,上面的这段代码并未考虑到部分号,仅考虑了行号-因此正在加载:

[self.searchedReservations objectAtIndex:0] 

填充单元格。

当您在第1节中时,在第1节中加载单元0时,您将检索完全相同的值,因为您仅使用行号。 即。 你还在加载

[self.searchedReservations objectAtIndex:0]

您可能认为您正在更改每个部分的加载之间的“ searchedReservations”对象的值(这就是您在上面的循环中尝试执行的操作),但是我不确定这是否有效(作为代码,填充的searchedReservation在每个循环计数器中似乎没有做任何不同的事情)。 同样,表第一次加载时,无论如何,它将遍历所有部分中的所有行。

我认为您在填充单元格时需要使用indexPath.section字段以及indexPath.row字段,以确保在适当的部分中设置了适当的行。

还可以使用调试器查看cellForRowAtIndexPath方法和循环中发生的情况,并确保您为循环的每次增量获取/使用不同的“ searchedReservations”对象,并且此对象与cellForRowAtIndexPath中的“ searchedReservations”对象匹配方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM