【发布时间】:2019-08-28 10:24:22
【问题描述】:
AnyPublisher 在 Combine 中的作用是什么?为什么在许多示例中,包括 inWWDC Combine In practice, 27:40,他们返回 AnyPublisher,使用 .eraseToAnyPublisher,而不仅仅是返回一个 Publisher?
使用 AnyPublisher 包装一个发布者,其类型包含您不想向订阅者或其他发布者公开的详细信息。
但是谁能举个例子说明它在哪里有用?
【问题讨论】:
-
你应该阅读类型擦除。 This 文章很好地解释了类型擦除背后的原因以及为什么要使用它。请记住,Swift 5.1 的不透明返回类型解决了无法将 PAT 用作具体类型的问题,这是以前使用类型擦除的主要原因之一,但其他用例仍然适用。