我的UITableView数据源根据用户操作在后台线程中得到更新。我在前景中重新显示细胞。问题是如果新数据中的行数小于以前数据中的行数,我仍然可以在新行之后看到列出的旧行。清除UITableView缓存
15-20秒后,这些旧行会自动删除(有时会更快)。或者,如果我转到不同的屏幕并回到我的tableview(数据源不变),旧的行不再存在。我的猜测是有一些缓存需要强制删除。任何想法如何做到这一点?
这里是我的代码快照
dispatch_async(queue, ^{
LoadingCompleted = NO;
if ([lbl.text isEqualToString:@""])
{
[self getData:month Year:year];
LoadingCompleted = YES;
}
dispatch_async(dispatch_get_main_queue(), ^{
if (LoadingCompleted) {
mainDataSource = mainDataSourceCopy;
[self.tableView reloadData];
}
);
});
,我在我的tableview我得到古怪的输出:
新行1
新行2
旧行3
旧行4
旧行5
我使用dispatch_async。不工作:(。请检查我的代码上面。谢谢。 – user1041086