我需要通过HTTP和HTTPS与RESTful服务进行通信。我正在阅读一些关于通过NSURLConnection
类执行异步请求的示例,其中一些使用sendAsynchronousRequest:queue:completionHandler:
方法,另一些使用connectionWithRequest:delegate:
方法并实现NSURLConnectionDelegate
} 方法。我无法弄清楚这些方法的含义是什么,如果差异仅在于实施,但性能和结果是相同的,或者其中一种方法比其他方法更好或更正确......
谢谢!
答案 0 :(得分:0)
通常有两个不同之处。
[NSURLConnection
sendAsynchronousRequest:queue:completionHandler:]
具有返回类型
void
表示您无法捕获NSURLConnection,例如在
一个财产,所以你失去了一些控制权,即你不能
[NSURLConnection cancel]
它。另一方面,[NSURLConnection connectionWithRequest:delegate:]确实会将连接返回给您,因此您可以保留完全控制权。[NSURLConnectionDataDelegate connection:didReceiveData:]
。可悲的是
在当前的Apple文档中,NSURLConnectionDataDelegate文档并不容易链接。
如果您将自己设置为NSURLConnection的代表,那些
方法将被调用。希望这有帮助。