Reactive cocoa:在UIViewController为dealloc后停止RACSignal

Mr.*_*row 0 ios reactive-cocoa

就我而言,我提出了containerViewController几个UIViewControllers.

其中一个控制器A将每10秒向服务器发送一次请求以获取数据.我用a RACSignal来做:

[[[RACSignal interval:10 onScheduler:[RACScheduler mainThreadScheduler]] takeUntil:self.rac_willDeallocSignal] subscribeNext:DoSomeThing];

但是,当containerViewController从RootViewController的驳回,信号发射仍然每10秒,手段rac_willDeallocSignal控制器A不叫.怎么修好?????

谢谢!!!

Ser*_* N. 6

也许现在回答这个问题为时已晚,但对于那些正在寻找解决方案的人来说,它可能会有所帮助.

我已经解决了在UIViewController消失时创建单独信号的类似问题,并takeUntil:在Interval信号中使用该信号.代码如下所示:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    RACSignal *rac_viewWillDisappear = 
        [self rac_signalForSelector:@selector(viewWillDisappear:)];
    [[[RACSignal interval:10 onScheduler:[RACScheduler mainThreadScheduler]]
        takeUntil:rac_viewWillDisappear] subscribeNext:^(id x) {
            //Do what you need
    }];
}
Run Code Online (Sandbox Code Playgroud)