我的ViewController中有一个模型(ex @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)
,那么效果很好。我不明白这。你能救我吗?提前致谢。