我可以看到Subject.eraseToAnySubject()返回具体Subject类型AnySubject。我假设这是使用类型橡皮擦模式。
然而,苹果文档几乎没有提供任何细节:https : //developer.apple.com/documentation/combine/passthroughsubject/3241547-erasetoanysubject
谁能解释它是如何工作的以及它应该在哪里使用?
另外,是否可以使用some关键字来避免使用AnySubject?
在 Combine 中,当您将 Publishers 链接到 Operators 时,返回类型会很快变得复杂,因为它包含有关链中每个发布者的特定详细信息。
例如,带有过滤器和映射运算符的简单字符串 Publisher 将具有以下返回类型: <Filter<Map<Published<String, Error>>>>
eraseToAny使用类型橡皮擦模式来捕获关于返回类型的实际重要内容。在给出的示例中,添加 aneraseToAnyPublisher会将类型缩短为更简洁的<AnyPublisher<String, Error>>
| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |