iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 什么主要ASIHTTPRequest功能是AFNetworking缺少?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
work having recently stopped on ASIHTTPRequest,似乎注意转移到 AFNetworking

但是,我还没有找到一个很好的比较的两个库的功能,所以我不知道我可能会失去,如果/当我切换。

到目前为止,我发现的主要差异是:

> AFNetworking具有小得多的代码大小(这是好的)
> AFNetworking正在快速改进(因此它可能还不成熟,可能没有稳定的API吗?)
>两者似乎都有缓存,然我看到了提示,因为AFNetworking使用NSURLConnection it won’t cache objects over 50K
> ASIhttprequest对手动&自动(PAC)http代理;我找不到任何有关AFNetworking对代理的支持级别的任何信息
> AFNetworking需要iOS 4,而ASIhttprequest可以直接返回到iOS 2(对我来说不是一个问题,但对于某些人来说这是一个问题)
> AFNetworking没有一个内置的持久缓存,但是有一个持久的缓存有一个挂起的请求:https://github.com/gowalla/AFNetworking/pull/25

有没有人看到任何良好的比较的两个图书馆或任何记录的经验从一个切换到另一个

解决方法

我喜欢ASIhttprequest,我很伤心看到它走了。然而,ASI的开发者是正确的,ASIhttprequest已经变得如此庞大和and肿,即使他不能花时间来使其与iOS和其他框架的最新功能。我继续,现在使用AFNetworking。

也就是说,我必须说AFNetworking比ASIhttp更不稳定,而对于我使用的东西,它需要细化。

在我在屏幕上显示我的结果之前,我经常需要向100个http源发出http请求,我已将AFhttpNetworkOperation放入操作队列。在所有结果下载之前,我想要能够取消操作队列中的所有操作,然后关闭保存结果的视图控制器。

这不总是工作。

随机使用AFNetworking崩溃,而使用ASIhttprequest,这个操作完美无缺。我希望我可以说AFNetworking的哪个特定部分崩溃,因为它不断崩溃在不同的点(然而,大多数时候,调试器指向NSRunLoop创建一个NSURLConnection对象)。因此,AFNetworking需要成熟,以便被视为完整的ASIhttprequest。

此外,ASIhttprequests支持客户端身份验证,目前AFNetworking缺乏。实现它的唯一方法是子类化AFhttprequestOperation并重写NSURLConnection的认证方法。然而,如果你开始涉及NSURLConnection,你会注意到NSURLConnection在NSOperation包装器和写完成块内没有那么难听起来,你会开始思什么阻止你倾销第三方库。

ASI使用了完全不同的方法,因为它使用CFNetworking(基于C的底层基础框架)使下载和文件上传成为可能,完全跳过NSURLConnection,并触摸我们大多数OS X和iOS开发人员太害怕的概念。因为这个,你得到更好的文件上传和下载,甚至网页缓存。

我更喜欢哪个?很难说。如果AFNetworking足够成熟,我会喜欢它比ASI。在此之前,我不禁欣赏ASI,以及它成为OS X和iOS所有时代最常用的框架之一。

编辑:
我认为是时候更新这个答案,因为事情已经改变了一点后这篇文章

这篇文章是写了一段时间,AFNetworking已经成熟了。 1-2个月前AF发布了一个小的更新POST操作,这是我最后一个抱怨的框架(一个小线结束错误是echonest上传失败与AF,但已完成与ASI完成的原因)。身份验证不是AFnetworking的问题,对于复杂的身份验证方法,您可以对操作进行子类化,并进行自己的调用,AFhttpClient使基本身份验证成为一块蛋糕。通过子类化AFhttpClient,您可以在很短的时间内使整个服务使用者。

更不用说AFNetworking提供的绝对必要的UIImage添加。使用块和自定义完成块和一些聪明的算法,您可以使表视图与异步图像下载和单元格填充很容易,而在ASI中,你必须为带宽限制操作队列,并记得自己取消和恢复操作队列根据表视图可见性,以及类似的东西。此类操作的开发时间已减少了一半。

我也喜欢成功和失败的块。 ASI只有一个完成块(实际上是NSOperation的完成块)。你必须检查你在完成时是否有错误,并采取相应的行动。对于复杂的Web服务,你可能会迷失在所有的“ifs”和“elses”;在AFNetworking中,事情变得更简单和直观。

ASI是伟大的时间,但与AF,你可以改变你完美地处理Web服务的方式,并使可扩展的应用程序更容易。我真的相信没有任何理由坚持使用ASI了,除非你要定位到iOS 3及以下。

大佬总结

以上是大佬教程为你收集整理的iphone – 什么主要ASIHTTPRequest功能是AFNetworking缺少?全部内容,希望文章能够帮你解决iphone – 什么主要ASIHTTPRequest功能是AFNetworking缺少?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。