【发布时间】:2020-10-11 02:07:09
【问题描述】:
这是Publisher 协议:
public protocol Publisher {
associatedtype Output
associatedtype Failure: Error
func receive<S>(subscriber: S)
where S: Subscriber, Self.Failure == S.Failure, Self.Output == S.Input
}
receive(subscriber:) 函数要求旨在将订阅者附加到发布者。但是,在协议扩展中,有一个非常相似的功能:
extension Publisher {
public func subscribe<S>(_ subscriber: S)
where S: Subscriber, Self.Failure == S.Failure, Self.Output == S.Input
}
receive(subscriber:) 和 subscribe(_:) 对函数有相同的约束。我想知道为什么两者都需要
【问题讨论】: