Разделение RACSignal для устранения состояния

м с помощью ReactiveCocoa для обновленияUILabel покаUIProgressView обратный отсчет:

NSInteger percentRemaining = ...;
self.progressView.progress = percentRemaining / 100.0;

__block NSInteger count = [self.count];

[[[RACSignal interval:0.05 onScheduler:[RACScheduler mainThreadScheduler]]
    take: percentRemaining]
    subscribeNext:^(id x) {
        count++;
        self.countLabel.text = [NSString stringWithFormat:@"%d", count];
        self.progressView.progress = self.progressView.progress - 0.01;
    } completed:^{
        // Move along...
    }];

Это работает достаточно хорошо, но яЯ не особенно доволен либоcount переменная или с чтением значенияself.progressView.progress чтобы уменьшить его.

Я чувствую, что должен уметь сплевывать сигнал и связывать свойства напрямую, используяRAC макро. Что-то вроде:

RACSignal *baseSignal = [[RACSignal interval:0.05 onScheduler:[RACScheduler mainThreadScheduler]]
                            take: percentRemaining]

RAC(self, countLabel.text) = [baseSignal
                                  map: ...
                                  ...

RAC(self, progressView.progress) = [baseSignal
                                        map: ...
                                        ...

...показывает, где яЯ застрял. Я могу'я не могу понять, как составитьRACSignal такой, что я нене нужно полагаться на переменную состояния.

Дополнительно яЯ не уверен, где / как ввести// Move along... побочный эффект мне нужен, когда поток завершается.

уверен, что оба достаточно просты, как только выМы думаем, что правильно, но любая помощь будет очень признательна.

Ответы на вопрос(1)

Ваш ответ на вопрос