我有UITableView,我需要使用代码NSArray *sysPaths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES );
NSString *docDirectory = [sysPaths objectAtIndex:0];
dispatch_queue_t queue_=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue_, ^{
NSString *filePath=[docDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"MyFolder_New/%@",[[[tableArray objectAtIndex:indexPath.row] componentsSeparatedByString:@"/"] lastObject]]];
dispatch_async(dispatch_get_main_queue(), ^{
[img setImage:[UIImage imageWithData:[NSData dataWithContentsOfFile:filePath]]];
[indicator stopAnimating];
});
});
从文档目录列出我保存的图像,以便异步显示图像到UITableView,但UITableView在向上和向下滚动时滞后。
答案 0 :(得分:0)
您需要在方法tableView:cellForRowAtIndexPath中使用dispatch_asynch:在返回之前自定义单元格。 脚步: 1.从池中取出细胞。 2.定制它。 3.启动dispatch_asynch,什么将设置正确的图像(这需要检查单元格是否仍然相同)到单元格。
我们一直这样做,我们从来没有滞后。但是图像出现在延迟的单元格中(这是正确的)。试试吧。