29

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

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

https://github.com/AFNetworking/AFNetworking

谢谢,

4

4 回答 4

35

NSURLConnection并且NSURLRequest是提供的用于管理连接的 Cocoa 类。在 iOS 7 中,Apple 添加了NSURLSession.

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

如果您正在寻找一个好的ASIHTTPRequest替代品,AFNetworking是一个很好的人选。

有关NSURLConnectionNSURLSession查看URL 加载系统编程指南的信息。

于 2013-03-30T13:27:14.530 回答
20

NSURLRequest自 iOS2.0 以来一直存在(请参阅文档),因此它并不完全是新的。ASIHTTPRequest已停产,最后一次更新是在 2011 年 5 月 15 日,所以你不应该使用它。AFNetworking 是他们自己描述的适用于 iOS 和 Mac OS X 的令人愉快的网络库,并且确实让您的生活更轻松,在我的情况下,它是我包含在我的网络所需项目中的第一个框架。

你应该使用哪一个?,我认为这取决于你的要求,NSURLRequestNSURLConnection可以做任何事情,事实上 AFNetworking我们建立在 NSURLConnection 之上。但是我之前告诉过你,AFNetworking 有我的支持。

编辑发布iOS7

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

编辑斯威夫特

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

于 2013-03-30T13:31:58.697 回答
7

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

NSURLRequest 是要使用的默认 iOS (cocoa) 类。我建议很少使用它,因为您需要编写大量代码来处理连接响应。最重要的是构建所有 http 库。

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

于 2013-03-30T17:56:18.813 回答
1

Native (NSURLSession) vs AFNetworking 或任何其他库。

I would recommend you to use NSURLSession because it gives you a lot of customization on app end. Recently I was working on a project, I have to use multipart form data some where in the app. I have to provide my request body to the backend guy, I did use AfNetworking logger to print my body but it did not help me. so I did move to cocoa native library and got my solution.

so I would suggest you to use iOS native networking because it gives you a lot of customization but if you would need less code then you can use any 3rd party library.

于 2017-02-13T16:26:05.370 回答