ASIHTTPRequest vs AFNetworking vs NSUrlRequest

Wil*_*con 29 iphone ios afnetworking

在过去我有用,ASIHTTPRequest但现在有NSURLRequest.我们NSURLRequest现在应该使用吗?有什么缺点吗?

对于现在阅读此内容的人:我最终使用AFNetworking了答案中提到的内容

https://github.com/AFNetworking/AFNetworking

谢谢,

Rob*_*Rob 35

NSURLConnection并且NSURLRequest是用于管理连接的Cocoa类.在iOS 7中,Apple补充道NSURLSession.

但我认为你会发现AFNetworking它是一个进一步简化网络请求(特别是复杂的HTTP请求)的框架.如果您不想出于任何原因使用第三方框架,可以使用NSURLConnection和/或NSURLSession直接使用.它只需要更多的编码.

如果你正在寻找一个好的ASIHTTPRequest选择,那么这AFNetworking是一个很好的候选人.

有关信息NSURLConnection,NSURLSession请参阅URL加载系统编程指南.


tka*_*kic 20

NSURLRequest自iOS2.0以来一直存在(参见文档),所以它并不是新的.ASIHTTPRequest已停产,最后一次更新是在2011年5月15日,所以你不应该使用它.AFNetworking是一个令人愉快的iOS和Mac OS X网络库,正如他们自己所描述的那样,真的让你的生活变得更轻松,在我看来,它是我在网络所需项目中包含的第一个框架.

你应该使用哪一个?我想这取决于你的要求,NSURLRequestNSURLConnection你所能做的一切,其实AFNetworking 我们建立在NSURLConnection的顶部.但是我之前告诉你的是,AFNetworking有我的支持.

编辑iOS7后

如果您的目标是iOS7,您应该查看NSURLSession,查看官方文档和本教程.

编辑Swift

看看Alamofire项目在Swift中完成的实现,它也是由mattt(AFNetworking的主要作者)创建的.


Yur*_*ets 7

asihttprequest是过时的库,现在不支持开发.不要使用它.

NSURLRequest是要使用的默认iOS(可可)类.我推荐它用于非常少的用法,因为你需要编写大量代码来处理连接响应.最重要的是构建所有http库.

AFNetwoking现在是http,imho的标准.它使用块进行回调,它支持不同类型的数据json,xml等.它设计得很好,可以很容易地进行子类化.这是最好的.