0

JSON フィードからテーブルビューに画像を読み込もうとしています。以下のコードは画像を返しますが、アプリが非常に遅くなり、「スティッキー」になります。それをより速くする方法についてのアイデアはありますか?これは、テーブルビューの各セルに対して呼び出されています。

NSURL *imageURL = [NSURL URLWithString:@"http://www.site.com/images/image_1.jpg"];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *cellImage = [UIImage imageWithData:imageData];

皆さん、ありがとうございました!

4

2 に答える 2

2

以下のコードを試してください。

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_group_t group = dispatch_group_create();
dispatch_group_async(group, queue, ^{
    NSURL *imageURL = [NSURL URLWithString:@"http://www.site.com/images/image_1.jpg"];
    NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
    UIImage *cellImage = [UIImage imageWithData:imageData];

    dispatch_sync(group, ^{
        cell.image = cellImage;
    });
});
dispatch_release(group);
于 2012-12-02T11:58:03.060 に答える
0

メインスレッドでインターネットから画像をロードすることは、常に悪い考えです。

UITableViewCellバックグラウンドスレッドで画像をサブクラス化してロードする必要があります。

ここでは、その方法をいくつか提案します。

UITableView での画像の遅延読み込み

URL iphone sdkからtableViewに画像をロードする

于 2012-12-02T11:56:31.397 に答える