2016-04-07 212 views
7

我開始與RxJava,我想創建一個可觀察,可以節省最後狀態...RxJava可觀察與去年狀態

在RxSwift,這將是變量(https://github.com/ReactiveX/RxSwift/blob/master/Documentation/GettingStarted.md#variables),但我不能發現RxJava的equivalente ...

我發現周圍的工作,但它的很多的樣板代碼

private boolean isGettingCompanies = false; 

public boolean isGettingCompanies() { 
    return isGettingCompanies; 
} 

private void setIsGettingCompanies(boolean isGettingCompanies) { 
    this.isGettingCompanies = isGettingCompanies; 
    isGettingCompaniesPublishSubject.onNext(isGettingCompanies); 
} 

private final PublishSubject<Boolean> isGettingCompaniesPublishSubject = PublishSubject.create(); 

public Observable<Boolean> isGettingCompaniesPublishSubject() { 
    return isGettingCompaniesPublishSubject.asObservable(); 
} 

的RxSwift當量在該

private(set) var isGettingCompanies: Variable = Variable(false) 

你能幫我嗎?由於

回答

4

BehaviorSubject值()方法,它返回它的當前值

final BehaviorSubject<Boolean> subject = BehaviorSubject.<Boolean>create(false); 
final Boolean value = subject.getValue(); 
+0

非常感謝,這正是我一直在尋找:) 如果你讓我一個問題。 是否有任何方式訂閱此BehaviorSubject,接收他的最後一個值並繼續接收下一個事件? –

+1

您可以使用重播操作符(容量設置爲1)。 – JohnWowUs

+0

謝謝,它工作:) –