В моем приложении есть 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];
}
Каков наилучший способ «ленивой загрузки» изображений в каждую ячейку, чтобы избежать задержки при прокрутке?