我UITableView
在我的应用程序中有一个从NSDocumentDirectory
. 它可以工作,但是当向上和向下滚动时,应用程序似乎有点冻结,很可能是因为主线程中提供的图像,有效地阻止了 tableView 滚动,直到它被加载。我的问题是我不知道以后如何在滚动时加载它们,这是一个“延迟加载”功能。
这是现在用于加载图像的代码片段:
imagesPath = [NSString stringWithFormat:@"%@/images/", [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]];
if ([fileManager fileExistsAtPath:[imagesPath stringByAppendingPathComponent:[NSString stringWithFormat:@"/%d.png", rowID]]]) {
UIImage *image = [[UIImage alloc] initWithContentsOfFile:[imagesPath stringByAppendingPathComponent:[NSString stringWithFormat:@"/%d.png", rowID]]];
// If image contains anything, set cellImage to image. If image is empty, use default, noimage.png.
if (image != nil){
// If image != nil, set cellImage to that image
cell.cellImage.image = image;
}
[image release];
}
在每个单元格中“延迟加载”图像以避免滚动滞后的最佳方法是什么?