Error[8]: Undefined offset: 3, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我应该如何在RxSwift中合并两种不同类型的Observable? 例如: var a: Observable<Int>var b: Observable<Void> 由于类型参数不同,Observable.of(a,b).merge()是不可能的. 要合并它们,它们需要为其Element具有相同的类型. 因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并: let 我应该如何在RxSwift中合并两种不同类型的Observable?

例如:

var a: Observable<Int>var b: Observable<VoID>

由于类型参数不同,Observable.of(a,b).merge()是不可能的.

要合并它们,它们需要为其Element具有相同的类型.

因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并:

let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { 
enum Container {    case S(String)    case I(Int)}let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { Container.S([+++]) }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { Container.I([+++]) }Observable.of(stringObservable,intObservable).merge()    .subscribeNext { e in        switch e {        case .S(let str):            print("next element is a STRING: \(str)")        case .I(let int):            print("next element is an INT: \(int)")        }    }    .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")
as AnyObject }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { [+++] as AnyObject }Observable.of(stringObservable,intObservable).merge() .subscribeNext { print([+++]) } .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")

输出:

a
b
1
2
c

另一个选择是在枚举中包装:

[+++]

输出:

next element is a STRING: a
next element is a STRING: b
next element is an INT: 1
next element is an INT: 2
next element is a STRING: c

对于可以组合不同类型的Observable的其他运算符(如zip和combineLatest),没有一个像merge一样工作.但是,检查一下.它们可能更适合您的要求.

总结

以上是内存溢出为你收集整理的RxSwift合并了不同类型的Observable全部内容,希望文章能够帮你解决RxSwift合并了不同类型的Observable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 4, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我应该如何在RxSwift中合并两种不同类型的Observable? 例如: var a: Observable<Int>var b: Observable<Void> 由于类型参数不同,Observable.of(a,b).merge()是不可能的. 要合并它们,它们需要为其Element具有相同的类型. 因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并: let 我应该如何在RxSwift中合并两种不同类型的Observable?

例如:

var a: Observable<Int>var b: Observable<VoID>

由于类型参数不同,Observable.of(a,b).merge()是不可能的.

要合并它们,它们需要为其Element具有相同的类型.

因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并:

let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { 
enum Container {    case S(String)    case I(Int)}let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { Container.S() }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { Container.I([+++]) }Observable.of(stringObservable,intObservable).merge()    .subscribeNext { e in        switch e {        case .S(let str):            print("next element is a STRING: \(str)")        case .I(let int):            print("next element is an INT: \(int)")        }    }    .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")
as AnyObject }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { [+++] as AnyObject }Observable.of(stringObservable,intObservable).merge() .subscribeNext { print([+++]) } .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")

输出:

a
b
1
2
c

另一个选择是在枚举中包装:

[+++]

输出:

next element is a STRING: a
next element is a STRING: b
next element is an INT: 1
next element is an INT: 2
next element is a STRING: c

对于可以组合不同类型的Observable的其他运算符(如zip和combineLatest),没有一个像merge一样工作.但是,检查一下.它们可能更适合您的要求.

总结

以上是内存溢出为你收集整理的RxSwift合并了不同类型的Observable全部内容,希望文章能够帮你解决RxSwift合并了不同类型的Observable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 5, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我应该如何在RxSwift中合并两种不同类型的Observable? 例如: var a: Observable<Int>var b: Observable<Void> 由于类型参数不同,Observable.of(a,b).merge()是不可能的. 要合并它们,它们需要为其Element具有相同的类型. 因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并: let 我应该如何在RxSwift中合并两种不同类型的Observable?

例如:

var a: Observable<Int>var b: Observable<VoID>

由于类型参数不同,Observable.of(a,b).merge()是不可能的.

要合并它们,它们需要为其Element具有相同的类型.

因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并:

let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { 
enum Container {    case S(String)    case I(Int)}let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { Container.S() }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { Container.I() }Observable.of(stringObservable,intObservable).merge()    .subscribeNext { e in        switch e {        case .S(let str):            print("next element is a STRING: \(str)")        case .I(let int):            print("next element is an INT: \(int)")        }    }    .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")
as AnyObject }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { [+++] as AnyObject }Observable.of(stringObservable,intObservable).merge() .subscribeNext { print([+++]) } .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")

输出:

a
b
1
2
c

另一个选择是在枚举中包装:

[+++]

输出:

next element is a STRING: a
next element is a STRING: b
next element is an INT: 1
next element is an INT: 2
next element is a STRING: c

对于可以组合不同类型的Observable的其他运算符(如zip和combineLatest),没有一个像merge一样工作.但是,检查一下.它们可能更适合您的要求.

总结

以上是内存溢出为你收集整理的RxSwift合并了不同类型的Observable全部内容,希望文章能够帮你解决RxSwift合并了不同类型的Observable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 6, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我应该如何在RxSwift中合并两种不同类型的Observable? 例如: var a: Observable<Int>var b: Observable<Void> 由于类型参数不同,Observable.of(a,b).merge()是不可能的. 要合并它们,它们需要为其Element具有相同的类型. 因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并: let 我应该如何在RxSwift中合并两种不同类型的Observable?

例如:

var a: Observable<Int>var b: Observable<VoID>

由于类型参数不同,Observable.of(a,b).merge()是不可能的.

要合并它们,它们需要为其Element具有相同的类型.

因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并:

let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { 
enum Container {    case S(String)    case I(Int)}let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { Container.S() }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { Container.I() }Observable.of(stringObservable,intObservable).merge()    .subscribeNext { e in        switch e {        case .S(let str):            print("next element is a STRING: \(str)")        case .I(let int):            print("next element is an INT: \(int)")        }    }    .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")
as AnyObject }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { as AnyObject }Observable.of(stringObservable,intObservable).merge() .subscribeNext { print([+++]) } .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")

输出:

a
b
1
2
c

另一个选择是在枚举中包装:

[+++]

输出:

next element is a STRING: a
next element is a STRING: b
next element is an INT: 1
next element is an INT: 2
next element is a STRING: c

对于可以组合不同类型的Observable的其他运算符(如zip和combineLatest),没有一个像merge一样工作.但是,检查一下.它们可能更适合您的要求.

总结

以上是内存溢出为你收集整理的RxSwift合并了不同类型的Observable全部内容,希望文章能够帮你解决RxSwift合并了不同类型的Observable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 7, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我应该如何在RxSwift中合并两种不同类型的Observable? 例如: var a: Observable<Int>var b: Observable<Void> 由于类型参数不同,Observable.of(a,b).merge()是不可能的. 要合并它们,它们需要为其Element具有相同的类型. 因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并: let 我应该如何在RxSwift中合并两种不同类型的Observable?

例如:

var a: Observable<Int>var b: Observable<VoID>

由于类型参数不同,Observable.of(a,b).merge()是不可能的.

要合并它们,它们需要为其Element具有相同的类型.

因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并:

let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { 
enum Container {    case S(String)    case I(Int)}let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { Container.S() }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { Container.I() }Observable.of(stringObservable,intObservable).merge()    .subscribeNext { e in        switch e {        case .S(let str):            print("next element is a STRING: \(str)")        case .I(let int):            print("next element is an INT: \(int)")        }    }    .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")
as AnyObject }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { as AnyObject }Observable.of(stringObservable,intObservable).merge() .subscribeNext { print() } .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")

输出:

a
b
1
2
c

另一个选择是在枚举中包装:

[+++]

输出:

next element is a STRING: a
next element is a STRING: b
next element is an INT: 1
next element is an INT: 2
next element is a STRING: c

对于可以组合不同类型的Observable的其他运算符(如zip和combineLatest),没有一个像merge一样工作.但是,检查一下.它们可能更适合您的要求.

总结

以上是内存溢出为你收集整理的RxSwift合并了不同类型的Observable全部内容,希望文章能够帮你解决RxSwift合并了不同类型的Observable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
RxSwift合并了不同类型的Observable_app_内存溢出

RxSwift合并了不同类型的Observable

RxSwift合并了不同类型的Observable,第1张

概述我应该如何在RxSwift中合并两种不同类型的Observable? 例如: var a: Observable<Int>var b: Observable<Void> 由于类型参数不同,Observable.of(a,b).merge()是不可能的. 要合并它们,它们需要为其Element具有相同的类型. 因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并: let 我应该如何在RxSwift中合并两种不同类型的Observable?

例如:

var a: Observable<Int>var b: Observable<VoID>

由于类型参数不同,Observable.of(a,b).merge()是不可能的.

要合并它们,它们需要为其Element具有相同的类型.

因此,一种选择是抛弃它们的类型信息并转换为AnyObject.现在他们可以合并:

let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { 
enum Container {    case S(String)    case I(Int)}let stringSubject = PublishSubject<String>()let stringObservable = stringSubject.asObservable().map { Container.S() }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { Container.I() }Observable.of(stringObservable,intObservable).merge()    .subscribeNext { e in        switch e {        case .S(let str):            print("next element is a STRING: \(str)")        case .I(let int):            print("next element is an INT: \(int)")        }    }    .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")
as AnyObject }let intSubject = PublishSubject<Int>()let intObservable = intSubject.asObservable().map { as AnyObject }Observable.of(stringObservable,intObservable).merge() .subscribeNext { print() } .adddisposableto(disposeBag)stringSubject.onNext("a")stringSubject.onNext("b")intSubject.onNext(1)intSubject.onNext(2)stringSubject.onNext("c")

输出:

a
b
1
2
c

另一个选择是在枚举中包装:

输出:

next element is a STRING: a
next element is a STRING: b
next element is an INT: 1
next element is an INT: 2
next element is a STRING: c

对于可以组合不同类型的Observable的其他运算符(如zip和combineLatest),没有一个像merge一样工作.但是,检查一下.它们可能更适合您的要求.

总结

以上是内存溢出为你收集整理的RxSwift合并了不同类型的Observable全部内容,希望文章能够帮你解决RxSwift合并了不同类型的Observable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1046722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存