如何在 RxSwift 中使用 EventConvertible 创建客户观察者事件?

Posted

技术标签:

【中文标题】如何在 RxSwift 中使用 EventConvertible 创建客户观察者事件?【英文标题】:How to create customer Observer Event using EventConvertible in RxSwift? 【发布时间】:2019-04-25 07:02:50 【问题描述】:

例如在下面的代码中,默认的 ObserverType 有一个 onError 事件,可以在其中传递 Swift.Error 对象。如何创建自定义 ObserverType / Event 以便能够提供自定义类的对象。

class LoginService: LoginServiceProtocol 
func signIn(with credentials: Credentials) -> Observable<User> 
    return Observable.create  observer in
        /*
         Networking logic here.
        */
        observer.onNext(User()) // Simulation of successful user authentication.
        observer.onError(<#T##error: Error##Error#>) // want to user custom class object instead of Swift.Error object here
        return Disposables.create()
    


【问题讨论】:

【参考方案1】:

唯一的方法是让自定义类对象符合Swift.Error 协议。

class MyCustomClassObject: Error 
    // your custom stuff here

【讨论】:

以上是关于如何在 RxSwift 中使用 EventConvertible 创建客户观察者事件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 RxSwift 中选择当前索引路径?

如何在 RxSwift 中使用 1 个按钮创建登录和注销?

如何在 RxSwift 中使用 EventConvertible 创建客户观察者事件?

RxSwift + UITableViewCell 如何在 heightForRowAt 中获取单元格对象

如何在MVVM架构中使用RxSwift发送参数来查看模型?

RxSwift:如何使用 shareReplay 懒惰地获取订阅