相关疑难解决方法(0)

从RACSignal迁移到ReactiveSwift或RAC5

我是Swift的新手,这也是我使用Reactive Cocoa v5或Reactive Swift的原因.

以前我在RAC 2.x上使用RACSignal,我喜欢这样做:

- (RACSignal *)signalForGET:(NSString *)URLString parameters:(NSDictionary *)parameters {
  return [RACSignal createSignal:^RACDisposable *(id <RACSubscriber> subscriber) {
      AFHTTPRequestOperation *op = [self GET:URLString parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
          [subscriber sendNext:responseObject];
          [subscriber sendCompleted];
      } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
          [subscriber sendError:error];
      }];
      return [RACDisposable disposableWithBlock:^{
          [op cancel];
      }];
   }];
}
Run Code Online (Sandbox Code Playgroud)

在这里我喜欢它取消一次性请求,我也可以通过调用dispose返回信号的方法手动取消它.

我对Reactive Swift中的所有这些东西感到有点困惑,比如SignalProducers等.

请举例说明如何使用最新的Swift/ReactiveSwift/ReactiveCocoa版本实现相同的功能.主要要求是能够在任何我想要的地方取消请求(或处理信号),并在处置时自动取消请求

reactive-cocoa racsignal swift reactive reactive-swift

3
推荐指数
1
解决办法
569
查看次数