我收到错误
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:
'
- [NSConcreteData initWithContentsOfURL:options:error:]:nil URL argument'`
当我尝试将viewController
从ViewControllerA
推送到ViewControllerB
以下是ViewControllerB
中的代码,
dispatch_queue_t concurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
//this will start the image loading in bg
dispatch_async(concurrentQueue, ^{
NSError *nserror = nil;
NSData *imageData = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:&nserror];
//this will set the image when loading is finished
dispatch_async(dispatch_get_main_queue(), ^{
if (nserror) {
UIImage *image = [UIImage imageNamed:@"prod_img3.png"];
pro_image.image = image;
}
else{
UIImage *image = [UIImage imageWithData:imageData];
pro_image.image = image;
}
[self doneChecking];
});
});
我做错了什么? 谢谢你的帮助。
答案 0 :(得分:1)
dispatch_queue_t concurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
//this will start the image loading in bg
dispatch_async(concurrentQueue, ^{
NSError *nserror = nil;
if(url.length == 0)
{
UIImage *image = [UIImage imageNamed:@"prod_img3.png"];
pro_image.image = image;
}
else
{
NSData *imageData = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:&nserror];
//this will set the image when loading is finished
dispatch_async(dispatch_get_main_queue(), ^{
if (nserror) {
UIImage *image = [UIImage imageNamed:@"prod_img3.png"];
pro_image.image = image;
}
else{
UIImage *image = [UIImage imageWithData:imageData];
pro_image.image = image;
}
}
[self doneChecking];
});
});