1

In my app I have implemented a method to download a image from a URL and display it in a TableView cell. The code is working fine but I also need to implement two more functions,

1) a UIActivityIndicator to show that the image is being downloaded. 2) Check whether the image is already downloaded. Download only if the cell is empty.

Here is my code.

-(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];
}

Thanks.

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 に答える