检查是否已加载setImageWithURL图像或设置了占位符图像

时间:2019-03-22 11:52:17

标签: objective-c uiimageview

[imageView setImageWithURL: url placeholderImage: [UIImage imageNamed:@"DefaultBanner"]];

使用此代码,我正在从URL加载图像。在未从URL加载图像之前,表单不会提交。

有人可以帮助我修复此代码吗?

1 个答案:

答案 0 :(得分:0)

这可能是线程并发问题,如果您处理主线程中的所有内容,它将冻结直到资产完全下载为止。我建议将其发送到后台线程中的串行队列中,下载完成后,将其发送到主线程中。

一个例子:

-(void) GCDSerialQueuesDownload
{
    NSString * anURL = @"myURL.com";
    dispatch_queue_t serialQueue = dispatch_queue_create("com.dispatch.feed.serial.queue",DISPATCH_QUEUE_SERIAL);
    dispatch_queue_t mainQueue = dispatch_get_main_queue();

    void (^addFeedBlock)(NSString*) = ^(NSString* url) {
        //your download here
        dispatch_async(mainQueue,^{
            //after finish you download
        });
    };

    dispatch_async(serialQueue, ^{
        addFeedBlock(anURL);
    });

}

A good source