在我的应用程序中,我实现了一种从URL下载图像并将其显示在TableView单元格中的方法。代码工作正常,但我还需要实现另外两个函数,
1)UIActivityIndicator显示正在下载图像。 2)检查图像是否已下载。仅在单元格为空时下载。
这是我的代码。
-(void) downloadImage
{
NSURL *url = [NSURL URLWithString:@"http://cdn.iphonehacks.com/wp-content/uploads/2012/09/iphone5-front-back.jpg"];
UIImage *image = [[UIImage alloc] initWithData: [NSData dataWithContentsOfURL:url]];
[dCellImageView setImage:image];
[image release];
}
感谢。
答案 0 :(得分:2)
使用[NSData dataWithContentsOfURL:URL选项:NSDataReadingMapped错误:& error]。这是一种同步方法。所以可能在发送消息之前启动activityIndicator,并检查错误,然后停止activityIndicator。 “细胞是空的”是什么意思?您是将图像存储在磁盘还是内存中。如果是前者,请使用NSFileManager检查文件是否存在。
答案 1 :(得分:1)
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
它会在状态栏的左侧显示一个指示符。如果您愿意,也可以使用MBProgressHUD。
如果您想在下载之前检查图像是否已经下载,则需要在核心数据或属性列表中存储密钥。