JXHTTP 3.0.2

JXHTTP 3.0.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年1月

Kenny AckersonKenny Ackerson维护。



JXHTTP 3.0.2

  • Justin Ouellette和Bryan Irace创建

:warning: :warning: :warning: JXHTTP 已不活跃维护。我们将逐步淘汰它于 TMTumblrSDK

JXHTTP 是 iOS 和 OS X 的网络库。它利用操作队列和 GCD 为 Cocoa 的内置 NSURLConnection 对象提供强大的封装,增加许多有用特性,如块响应对象和跨多个请求的进度跟踪。它力求尽可能轻量级和易于阅读,易于使用或根据高级行为进行自定义。

要开始使用,只需下载最新的标签并将 JXHTTP 文件夹拖放到您的 Xcode 项目中。没有外部依赖项或特殊的编译器标志,只需在方便位置添加 #import "JXHTTP.h" 即可。还包括完整的文档集以在 Xcode 或 Dash 中使用,并在 jxhttp.com 上提供在线访问。JXHTTP 也可作为 CocoaPod 提供。

JXHTTP 需要 iOS 5.0 或 OS X 10.7 或更高版本。

优点

JXHTTPOperation 比使用没有操作封装的纯 NSURLConnection 提供了许多优点

  • 请求可以轻松分组、优先化、取消和并发执行
  • 数据可以流进和流出磁盘,具有优异的内存效率
  • 当应用被发送到后台时,请求可以选择性地继续执行
  • 通过委托方法、响应块、KVO 或所有三者易于跟踪进度
  • 请求在后台线程中运行,远离主线程和 UI
  • 特别注意了线程安全性,并在整个文档中进行了良好记录

JXHTTP 现已准备好用于生产环境,并且目前为 Tumblr SDK 提供支持;当您阅读此段落时,已经执行了成千上万的请求!

示例

请参见包含的 示例项目 以了解 iOS 中实际使用案例。

异步

JXHTTPOperation *op = [JXHTTPOperation withURLString:@"https://encrypted.google.com/"];
op.didFinishLoadingBlock = ^(JXHTTPOperation *op) {
    NSLog(@"%@", op.responseString);
};

[[JXHTTPOperationQueue sharedQueue] addOperation:op];

同步

JXHTTPOperation *op = [JXHTTPOperation withURLString:@"https://encrypted.google.com/"];
[op startAndWaitUntilFinished];

NSLog(@"%@", op.responseString);

复杂

NSURL *postURL = [NSURL URLWithString:@"https://web.site/api/POST"];
NSDictionary *postParams = @{ @"make": @"Ferrari", @"model": @"458 Italia" };

JXHTTPOperation *op = [[JXHTTPOperation alloc] initWithURL:postURL];
op.requestBody = [[JXHTTPFormEncodedBody alloc] initWithDictionary:postParams];
op.requestCachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;
op.responseDataFilePath = @"/tmp/downloaded_data";
op.trustedHosts = @[ postURL.host ];
op.performsBlocksOnMainQueue = YES;

op.didSendDataBlock = ^(JXHTTPOperation *op) {
    NSLog(@"%lld bytes uploaded so far", op.bytesUploaded);
};

[[JXHTTPOperationQueue sharedQueue] addOperation:op];

联系

JXHTTP 由 Justin Ouellette 创建。

如果有问题,请通过以下邮箱 [email protected] 联系。