因此,在iOS
开发中,我使用ReactiveCocoa
并使用该框架,我能够观察多个NSObjects
并将它们组合成signal
返回 aa 值的 a。像这样的东西:
-(RACSignal *)modelIsValidSignal {
return [RACSignal combineLatest:@[RACObserve(self,username), RACObserve(self,password), RACObserve(self, busyLoggingIn)]
reduce:^id(NSString *username, NSString *password, NSNumber *busyLoggingIn) {
return @((username.length > 0) && (password.length > 0 && busyLoggingIn.boolValue == NO));
}];
}
因此,这将返回一个boolean
为假或真的。只要其中一个对象的状态发生变化,就会通知该信号,subscriber (Observer)
然后将获得该布尔值的当前值。
我该如何做类似的事情,使用LiveData
?最接近这样做的是,MediatorLiveData
但是,我不知道如何同时观察多个LiveData
事件然后减少它,就像上面的例子一样。