给定 Java 对象上的任意字段,我想创建一个 Observable 来监视该字段,并在每次字段值更改时将新结果推送到 Observer。ReactiveCocoa 有一个名为 RACObserve 的宏,它似乎正是这样做的。
我想知道如何使用 RxJava 实现类似的功能。
例如,假设我有以下简单的类:
public class Foo {
enum State {
Idle,
Ready,
Error
}
private State currentState = State.Idle;
//methods that can change currentState
}
我想创建一个Observable<State>
每次更改currentState
.
在 ReactiveCocoa 中,看起来我会写一些类似下面的东西(请原谅我的伪 Objective-C):
[RACObserve(self, currentState) subscribeNext:^(NSString *newState) {
NSLog(@"%@", newState);
}];
我如何在 RxJava 中实现类似的功能?我在想我可能需要将所有对 currentState 的更改包装在一个 setter 中,但我不清楚我应该在哪里调用 Observable.create 以及如何将 currentState 的更改提供给 Observer。