ios - ReactiveCocoa subscribeNext 没有检查

标签 ios objective-c reactive-cocoa

大多数时候当我下次订阅时,我会先检查值是否不为 nil,如下所示:

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

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

    }];

我每次都这样做,我试图为 RACSignal 正确设置一个类别,它将为我执行此检查,但我不确定如何从中获取值(不是 block 值,下一个值) :

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

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

有什么帮助吗?谢谢!

最佳答案

RACSignal 上的ignore 操作可用于过滤掉特定值:

[[RACObserve(self, maybeNilProperty) ignore:nil] subscribeNext:^(id x) {
  // x can't be nil
}];

关于ios - ReactiveCocoa subscribeNext 没有检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28261045/

相关文章:

ios - 使用私有(private)方法使代码尽可能模块化

ios - 在倒置肖像模式下关闭 VC 后,主 VC 显示为正常肖像

objective-c - 困惑如何实现 cocoa 应用程序的 View Controller

ios - 为什么使用 ivar 会导致 react 性 cocoa 中的保留循环?

ios - reactcocoa是true应该ChangeCharactersInRange文本字段等效

ios - NSCoding 和 Bools Swift 3

ios - Imagemagick降低PNG深度

ios - Swift UI 相机显示纵向 View ,但图像变成横向 View

c++ - 使用 clang/LLVM 通过 LDFLAGS 链接 .dylib

reactive-cocoa - RAC() 和 .rac_command 不能一起工作