2017-09-28 43 views
0

考慮以下兩個變量:如何在rxSwift變量上執行一個串行執行?

let int = Variable<Int>(1) 

let string = Variable<String>("hey!") 

我們假設他們都綁定到其他UI已經,如:

int.asObservable.bind(to:variable1) 
string.asObservable.bind(to:variable2) 

我怎樣才能確保int.asObservable.bind(to:variable1)後就一直string.asObservable.bind(to:variable2)只執行執行?

+0

確定設計比2倍的值每次都會被更新? – CZ54

+0

@ CZ54你是什麼意思? – progammingBeignner

+0

每次int更改後都會跟着字符串的變化? – CZ54

回答

0

您的intstring是兩個不同的variables。這意味着每個變量都可以獨立更改。

您可以加入他們的行列,以確保這些價值的同時改變和延緩第2結合這樣:

let values = Variable<(int: Int, string: String)>((1, "hey!")) 
values 
    .asObservable() 
    .map({ $0.int }) 
    .bind(to: variable1) 
values 
    .asObservable() 
    .map({ $0.string }) 
    .delay(0.1, scheduler: MainScheduler.instance) 
    .bind(to: variable2)