Tôi có một UITableView
trong ứng dụng của mình, trong đó tôi tải một vài hình ảnh từ NSDocumentDirectory
. Nó hoạt động, nhưng khi di chuyển lên và xuống, ứng dụng dường như đóng băng một chút, rất có thể do các hình ảnh đang được phân phát trong chuỗi chính, ngăn chặn hiệu quả tableView từ cuộn cho đến khi được tải. Vấn đề của tôi là tôi không biết làm thế nào để tải chúng trong sau này, một "tải lười biếng" tính năng, trong khi di chuyển.Hình ảnh tải nhỏ cho UITableViewCells từ NSDocumentDirectory?
Đây là đoạn mã sử dụng để tải các hình ảnh bây giờ:
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];
}
cách tốt nhất để "nạp lười biếng" những hình ảnh trong mỗi tế bào để tránh tụt hậu trong di chuyển là gì?
Tôi không cố gắng tải xuống hình ảnh, tôi đang cố gắng tải hình ảnh từ NSDocumentDirectory. – Emil
Việc tải xuống phải được hiểu là truy cập bất kỳ tài nguyên nào được NSURL hỗ trợ. NSURL có thể được sử dụng cho một số giao thức: http, ftp hoặc tệp. Chuyển đổi đường dẫn của bạn thành NSURL và "tải xuống" tệp cục bộ của bạn. –
Tôi đang cố gắng, nhưng nó không hoạt động! NSURL được tải từ một chuỗi: 'file: // var/mobile/Applications/RANDOMIDENTIFIER/Documents/images/10.png'. – Emil