ASJNetworking 1.2

ASJNetworking 1.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2022年1月

Sudeep 维护。



  • 译者
  • Sudeep

ASJNetworking

自从掌握了制作网络请求和玩转 JSON 的技巧后,我一直觉得处理制作它们的代码很繁琐,尤其是 POST 请求。我在网上找到了代码示例,但总是找不到合适的,要么到处粘贴代码示例使代码变得一团糟,要么使用第三方解决方案。我希望自己能有连贯性,于是创建了这个基于 NSURLSession 的基础网络类,以满足我所有的简单需求。

ASJNetworking 可以进行以下类型的 HTTP 请求

  • GET
  • HEAD
  • POST
  • PUT
  • PATCH
  • DELETE

安装

CocoaPods 是安装此库的首选方式。将此命令添加到您的 Podfile

pod 'ASJNetworking'

如果您更喜欢经典方式,只需将 ASJNetworking 文件夹 (.h 和 .m 文件) 复制到您的项目中。

使用

制作请求很简单。您首先需要创建 ASJNetworking 的一个实例,然后调用您希望发起的请求的相应方法。为所有类型的 HTTP 请求提供了方法。例如,如果您想发起一个 GET 请求

ASJNetworking *getRequest = [[ASJNetworking alloc] initWithBaseUrl:@"http://example.com"];
[getRequest GET:@"method_name" parameters:params completion:^(id response, NSString *responseString, NSError *error) {
  // handle response
}];

对于多部分 POST 方法,您需要传入一个 ASJImageItems 数组。提供了一个可选的进度块,这样您就可以跟踪上传进度。

ASJImageItem *imageItem = [ASJImageItem imageItemWithName:@"image_name" fileName:@"image.jpg" image:[UIImage imageNamed:@"image"]];

ASJNetworking *postRequest = [[ASJNetworking alloc] initWithBaseUrl:@"http://example.com"];
[postRequest POST:@"method_name" parameters:params imageItems:@[anImageItem] progress:^(CGFloat progressPc) {
  // handle progress
} completion:^(id response, NSString *responseString, NSError *error) {
  // handle response
}];

待办事项

  • 测试DELETE请求。
  • 测试HEAD请求。
  • 检查图像项目中的空值。
  • 增加网络活动指示器支持。
  • 向PUT请求中添加多部分数据。
  • 如何在头部发送参数。
  • 如何将类别应用于设置图像视图等。
  • 可以实现批量请求的功能。

致谢

许可协议

ASJNetworking在MIT许可下可用。有关更多信息,请参阅LICENSE文件。