iOS应用程序使用GCD在4.3中崩溃

时间:2012-08-22 11:50:04

标签: objective-c ios grand-central-dispatch

我在后台队列中调用方法为

dispatch_async(backgroundQueue, ^(void) {
[self loadImage:imageUrlString];
});
 // This is the loadImage method:

- (void)loadImage:(NSString *)imageUrlString
{        
    // calling a method in main queue to add a preloader

    dispatch_async(dispatch_get_main_queue(), ^(void) {


                  [self addPreloader];
    });

    // converting the url content to NSData
    NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageUrlString]];

    // calling a method in main queue to load the image with imageData.
    dispatch_async(dispatch_get_main_queue(), ^(void) {
        [self setImage:imageData];
    });  
}

但应用程序崩溃了。 这是我的崩溃日志:bool _WebTryThreadLock(bool),0xc9a5010:尝试从主线程或Web线程以外的线程获取Web锁。这可能是从辅助线程调用UIKit的结果。现在崩溃......

0 个答案:

没有答案