1

在我的应用程序中,我实现了一种从 URL 下载图像并将其显示在 TableView 单元格中的方法。代码工作正常,但我还需要实现另外两个功能,

1) 一个 UIActivityIndi​​cator 来显示图像正在被下载。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];
}

谢谢。

4

2 回答 2

2

使用 [NSData dataWithContentsOfURL:URL options:NSDataReadingMapped error:&error]。这是一种同步方法。所以可能在发送消息之前启动activityIndi​​cator,并检查错误,然后停止activityIndi​​cator。“单元格为空”是什么意思?您是将图像存储在磁盘中还是仅存储在内存中。如果是前者,请使用 NSFileManager 检查文件是否存在。

于 2012-09-17T02:25:19.240 回答
1
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];

它会在状态栏的左侧显示一个指示器。如果您愿意,也可以使用MBProgressHUD

如果你想在下载之前检查图像是否已经下载,你需要在你的核心数据或属性列表中存储一个密钥。

于 2012-09-17T02:33:05.223 回答