gpt4 book ai didi

swift3 - swift : RxSwift's asObservable() method and type erasure

转载 作者:行者123 更新时间:2023-12-03 16:15:24 26 4
gpt4 key购买 nike

我无法理解 asObservable method 的基本原理和目的在 RxSwift 的 Observable class .

/// A type-erased `ObservableType`. 
///
/// It represents a push style sequence.
public class Observable<Element> : ObservableType {
/// Type of elements in sequence.
public typealias E = Element

public func subscribe<O: ObserverType>(_ observer: O) -> Disposable where O.E == E {
abstractMethod()
}

public func asObservable() -> Observable<E> {
return self
}
}

asObservable 在返回 self 时的目的是什么?

当然,如果您可以运行此方法,则您已经可以访问该对象。另外,评论中的“类型删除 ObservableType”是什么意思?

最佳答案

如果您查看 ObservableType,我相信答案是显而易见的。协议(protocol)以及符合它的对象(即主题等)。
唯一的保证是对象将返回 Observable响应 asObservable 的电话.虽然一致性对于 Observable 来说是微不足道的, 对于科目和其他单位来说,可能会更少。但是这个保证允许你使用所有可以提供 Observable 的类型。一起在同一个算子链中。

本质上,这类似于 String符合 CustomStringConvertible .

关于swift3 - swift : RxSwift's asObservable() method and type erasure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42002153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com