在Xcode 8中运行项目时收到以下错误消息:
TCP_CONNECTION_EVENT_DISCONNECTED响应状态失败和错误Domain=kNWErrorDomainPOSIX Code=61“连接拒绝”UserInfo={NSDescription=Connection拒绝}
下面是导致此问题的代码:
@implementation UIImageView (LoadAsyn)
+ (void) loadFromURL: (NSURL*) url callback:(void (^)(UIImage *image))callback {
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
NSData * imageData = [NSData dataWithContentsOfURL:url];
dispatch_async(dispatch_get_main_queue(), ^{
UIImage *image = [UIImage imageWithData:imageData];
callback(image);
});
});
}顺便问一下,我查过我的网址了。在all.Somebody中没有问题,提到dataWithContentsOfURL只能用于访问本地资源。但以下是苹果说的话:
包含来自aURL指定位置的数据的数据对象。如果无法创建数据对象,则返回零。
它并没有说我们不能将它用于远程url,我在以前的Xcode中使用了很长一段时间。
有什么想法吗?谢谢。
P.S.:
抱歉,我想我可能错了。根据苹果的最新文件:
不要使用此同步方法请求基于网络的URL。对于基于网络的URL,这种方法可以在一个缓慢的网络上阻塞当前线程几十秒,导致用户体验差,在iOS中,可能会导致应用程序被终止。
但是我以异步的方式(在主线程之外的线程中)使用了它。我有点困惑,我会对此做更多的研究。
发布于 2016-09-28 04:53:59
虽然您从后台线程调用它,但此方法与主线程同步。它不依赖于从哪个线程调用。
https://stackoverflow.com/questions/39738094
复制相似问题