ReactiveAFNetworking
ReactiveAFNetworking 是对 AFNetworking 3 的扩展,增加反应能力,受到了 AFNetworking-RACExtension 的启发,该扩展仍然使用 AFNetworking 2。这个库是基于 AFNetworking 3.0+ 和 ReactiveObjC 构建的,因此如果您想要使用与 AFNetworking-RACExtension 相同的代码接口,但需要最新的 AFNetworking 和 ReactiveObjC 版本,请自由使用 ReactiveAFNetworking。
安装
ReactiveAFNetworking 可以通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile 中:
pod 'ReactiveAFNetworking'
如果您想在 Swift 项目中使用此库,使用 ReactiveCocoa 2.4.7 而不是 ReactiveObjC 会更简单。为了满足这一需求,您可以将以下行添加到您的 Podfile 中代替:
pod 'ReactiveAFNetworking', :git => 'https://github.com/ibnusina/ReactiveAFNetworking', :branch => 'swift-extensibility'
使用说明
请求信号的工作方式与您期望的非常相似。任何订阅了请求都会自动入队,结果(无论是错误还是 JSON)会发送回订阅者。例如:
AFHTTPSessionManager *sessionManager = [AFHTTPSessionManager manager];
RACSignal *signal = [sessionManager rac_GET:@"https://api.reddit.com/r/cat/hot" parameters:nil];
[signal subscribeNext:^(RACTuple *tuple) {
NSLog(@"response: %@, task: %@", tuple.second, tuple.first);
} error:^(NSError * error) {
NSLog(@"on error: %@", error);
}];
示例
要运行示例项目,请先克隆仓库,然后从示例目录中运行 pod install
。
要求
ReactiveAFNetworking 支持iOS 8.0以上。
作者
Ibnu Sina: [email protected]
授权
ReactiveAFNetworking 在MIT授权下可用。有关更多信息,请参阅LICENSE文件。