ios – 为什么要使用GCD和块进行HTTP下载?

ios – 为什么要使用GCD和块进行HTTP下载?,第1张

概述在求职面试中,我被问到为什么我应该使用块和GCD而不是NSURLConnection来异步下载文件.经过一些研究,我没有找到一个很好的理由这样做.我有多个应用程序,我只使用NSURLConnection,可以同时进行多个下载.他们的问题是试图确定我是否符合时髦的东西(GCD,块),或者以这种方式进行异步提取是否有任何实际的实质性优势? 谢谢. 在iOS 7中,通常不应使用基于块的方法异步下载文件. 在求职面试中,我被问到为什么我应该使用块和GCD而不是NSURLConnection来异步下载文件.经过一些研究,我没有找到一个很好的理由这样做.我有多个应用程序,我只使用NSURLConnection,可以同时进行多个下载.他们的问题是试图确定我是否符合时髦的东西(GCD,块),或者以这种方式进行异步提取是否有任何实际的实质性优势?
谢谢.解决方法 在iOS 7中,通常不应使用基于块的方法异步下载文件.为了支持后台传输,必须将NSURLSession与委托方法一起使用,并且不能使用基于块的方法.除此之外,在任何情况下,我都不确定“而不是NSURLConnection”在这里是什么意思.

如果他们的意思是sendAsynchronousRequest:queue:completionHandler :(这是NSURLConnection),它很方便,但比基于委托的NSURLConnection灵活性和功能强得多,所以我唯一的答案就是“因为有时它更方便,并保留代码当你不需要太大的灵活性时,更紧密地联系在一起.“

除非它们实际意味着GCD的一部分真正做到了这一点:派遣I / O.有理由直接使用它(特别是如果您使用的是非http协议,或者如果您管理的是http服务器而不是客户端),但它们很少见,而且通常不会“异步下载文件”.在大多数情况下,更高级别的API是首选.

总结

以上是内存溢出为你收集整理的ios – 为什么要使用GCD和块进行HTTP下载?全部内容,希望文章能够帮你解决ios – 为什么要使用GCD和块进行HTTP下载?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1054597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存