1

我的 ViewController 中有一个模型(例如@property (nonatomic, strong) Model *model;

有 2 个属性 ( property1, property2)。

我试图通过RACObserve宏观察这些属性,然后使用combineLatest

RACSignal *sig1 = [RACObserve(self.model, property1] map // Map block
RACSignal *sig2 = [RACObserve(self.model, property2] map // Map block
NSArray *signals = @[sig1, sig2];
RAC(self, userHasChangedSomething) = [[RACSignal combineLatest:signals] or];
[RACObserve(self, userHasChangedSomething) subscribeNext:^(NSNumber *hasChangedNumber) {
            BOOL hasChanged = [hasChangedNumber boolValue];
            self->sendButton.enabled = hasChanged;
            self->sendButton.alpha = hasChanged ? 1.f : 0.4f;
        }];

你能解释一下为什么如果我使用RACObserve(self.model, property1)它不会触发combineLatest并且在subscribeNext. 但如果我改为RACObserve(self, model.property)then 效果很好。我无法理解这。你能帮帮我吗。提前致谢。

4

0 回答 0