2015-02-01 4 views
4

Большую часть времени, когда я пользователь подписываться рядом, плохо проверить, если значение не ноль первый, так как:ReactiveCocoa subscribeNext с нулевым проверить

[[RACObserve(self.viewModel, stockViewModel.stock.imageURL) takeUntil:[self takeUntil]] subscribeNext:^(id 
    value) { 
     @strongify(self); 

//Check if not nil 
if (value) { 
//Do somthing 
} 

    }]; 

InstEd делать это каждый раз, Im пытаясь права категория для RACSignal, который преформы этой проверки для меня, но я не знаю, как я могу получить значение (не значение блока, следующее значения) от этого:

- (RACDisposable *)subscribeNext:(void (^)(id x))nextBlock { 
    NSCParameterAssert(nextBlock != NULL); 

    RACSubscriber *o = [RACSubscriber subscriberWithNext:nextBlock error:NULL completed:NULL]; 
    return [self subscribe:o]; 
} 

Любой помощи? Благодаря!

ответ

14

ignore операция на RACSignal может использоваться, чтобы отфильтровать определенные значения:

[[RACObserve(self, maybeNilProperty) ignore:nil] subscribeNext:^(id x) { 
    // x can't be nil 
}]; 
Смежные вопросы