相关疑难解决方法(0)

NSURLConnection和盛大的中央调度

是否可以将NSUrlConnection包装在gcd样式块中并在low_priority队列上运行?

我需要确保我的连接不在主线程上发生,并且连接需要是异步的.我还需要几个同时发出的请求.

如果我去gcd路由,我不确定调用NSUrlConnectionDelegate方法的哪个线程.

NSURLConnection依赖于委托,所以一旦连接完成,处理它的任何包装类都需要调用它的调用者.我不确定如何处理连接工作启动/完成时调用的所有各种回调:

- (void)connection:(NSURLConnection *)aConnection didReceiveResponse:(NSURLResponse *)response;
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)incrementalData;
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
- (void)connectionDidFinishLoading:(NSURLConnection *)connection;
Run Code Online (Sandbox Code Playgroud)

我应该只调用同步版本但是包含在gcd块中吗?如果我想取消通话,请使用'dispatch_suspend'?

dispatch_async(queue,^{
      NSString* result = [self mySynchronousHttp:someURLToInvoke];
      });

// If I need to cancel
dispatch_suspend(queue);
Run Code Online (Sandbox Code Playgroud)

iphone nsurlconnection grand-central-dispatch

35
推荐指数
1
解决办法
2万
查看次数