UITableViewCell没有完全重新加载数据

时间:2014-09-17 22:07:47

标签: ios objective-c uitableview

我使用UITableView显示从网络中提取的足球时间表。用户可以选择通过tableView下方的两个按钮跳到下一年或上一年的时间表。在尝试将电视时间和场地名称添加到日程表时,我意识到我需要的不仅仅是标准字幕样式单元提供的2行文本,所以我做了一些研究并找到了一种方法来通过设置" numberOfLines"由于这样做,我发现tableView数据没有完全重载。它重新加载mainLabel和detailLabel的第一行,但detailLabel的另外两行是单独的。以下是填充单元格的代码:

NSInteger index = indexPath.row;
NSString *cellTitle = [NSString stringWithFormat:@"cell%ld", (long)indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellTitle];
if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellTitle];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
cell.textLabel.numberOfLines = 0;
cell.detailTextLabel.numberOfLines = 0;
NSString *maintitle = nil;
NSString *submaintitle = nil;
if (![[locations objectAtIndex:index] isEqualToString:@"Bye"]) {
    maintitle = [NSString stringWithFormat:@"%@ %@", [opponents objectAtIndex:index], [scores objectAtIndex: index]];
    submaintitle = [NSString stringWithFormat:@"%@: %@\n%@\n%@", [dates objectAtIndex:index], [locations objectAtIndex: index], [venues objectAtIndex:index], [tvInfo objectAtIndex:index]];
    }

我已经玩过" numberOfLines,"但似乎没有什么能解决它。此外,我确信新数据是从网上传来的,没有任何问题。有没有人有类似的问题或有没有人知道是什么原因造成的?如果您在了解正在发生的事情或者您需要更多信息时遇到任何问题,请随时提出。

1 个答案:

答案 0 :(得分:0)

我忘了重新分配场地和位置数组,这就解释了为什么它没有更新。