RT,在做蓝牙OBD的项目,其中有需求是从ECU中读取数据流,读取到一条就马上刷新TableView,于是我就写成这样了
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//获取数据流个数x
for (int i = 0; i<x; i++)
{
//循环读取数据
NSData * data = getData(i);
[self.fcArray addObject:data];
dispatch_async(dispatch_get_main_queue(), ^{
//读取到数据就马上reloadData
[self.tableView reloadData];
});
}
整个过程就这样,显示什么都没问题,但是我发现在他读取数据的时候,我去滚动tableView的话,tableView滚动会表现得卡卡的,然后经常是好像根本没有滚动到似的,请问这是什么原因
好久没来,更新下答案
首先谢谢大家的帮忙,我这个问题已经解决了,我是设置数据刷新前判断tableView是否在滚动,如果是的话就等等再刷新
把reloadData从for循环中移出来,我觉得是这里的原因