作者:新手php | 来源:互联网 | 2023-05-24 07:25
我下次用户订阅的大部分时间,我会检查值是否为nil,如下所示:
[[RACObserve(self.viewModel, stockViewModel.stock.imageURL) takeUntil:[self takeUntil]] subscribeNext:^(id
value) {
@strongify(self);
//Check if not nil
if (value) {
//Do somthing
}
}];
我每次都这样做,我试图找一个RACSignal的类别来为我做这个检查,但是我不知道怎么能从这里获得值(不是块值,下一个值):
- (RACDisposable *)subscribeNext:(void (^)(id x))nextBlock {
NSCParameterAssert(nextBlock != NULL);
RACSubscriber *o = [RACSubscriber subscriberWithNext:nextBlock error:NULL completed:NULL];
return [self subscribe:o];
}
有帮助吗?谢谢!
1> 小智..:
在ignore
上一个RACSignal操作可以用来过滤掉特定的值:
[[RACObserve(self, maybeNilProperty) ignore:nil] subscribeNext:^(id x) {
// x can't be nil
}];