加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

system.reactive – 相当于ReactiveCocoa的RACObserve的RxJava(

发布时间:2020-12-15 20:47:35 所属栏目:百科 来源:网络整理
导读:给定 Java对象上的任意字段,我想创建一个Observable,它将监视该字段并在每次字段值更改时将新结果推送到Observer. ReactiveCocoa有一个名为RACObserve的宏,它似乎就是这样做的. 我想知道如何使用RxJava实现类似的功能. 例如,假设我有以下简单类: public cla
给定 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的值时,都会将新状态推送到Observer.

在ReactiveCocoa中,看起来我会写下类似的东西(请原谅我的伪Objective-C):

[RACObserve(self,currentState) subscribeNext:^(NSString *newState) {
    NSLog(@"%@",newState);
}];

我如何在RxJava中实现类似的功能?我想我可能需要在setter中包含对currentState的所有更改,但是我不清楚我应该在哪里调用Observable.create以及如何将currentState的更改提供给Observer.

ReactiveCocoa实际上与ReactiveUI( http://www.reactiveui.net)更相似,而不仅仅是普通的Rx.在ReactiveUI中,您可以使用this.WhenAnyValue(x => x.PropName)来完成您想要的操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读