我在后台队列中调用一个方法,
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: 试图从主线程或网络线程以外的线程获取网络锁。这可能是从辅助线程调用 UIKit 的结果。现在崩溃...