Swift 在联合收割机中将任意发布者强制转换为发布者

Swift 在联合收割机中将任意发布者强制转换为发布者,swift,combine,Swift,Combine,我正在联合收割机中使用一个发布者,我正在尝试返回一个发布者 在组合中,可以将AnyPublisher转换为Published.Publisher?不,这是不可能的AnyPublisher是Publisher的类型擦除版本。键入erase变量后,原始类型信息将在对象的生存期内丢失(或至少隐藏),无法将其转换回原始类型 如果需要返回一个Published.Publisher,只需将其作为函数的返回类型即可已发布。Publisher是一个结构,因此您可以将其用作返回类型(不像Publisher,后者是

我正在联合收割机中使用一个
发布者
,我正在尝试返回一个
发布者


在组合中,可以将
AnyPublisher
转换为
Published.Publisher

不,这是不可能的
AnyPublisher
Publisher
的类型擦除版本。键入erase变量后,原始类型信息将在对象的生存期内丢失(或至少隐藏),无法将其转换回原始类型


如果需要返回一个
Published.Publisher
,只需将其作为函数的返回类型即可<代码>已发布。Publisher是一个结构,因此您可以将其用作返回类型(不像
Publisher
,后者是一个具有关联类型的协议)。

将该函数改为返回
AnyPublisher
?这听起来像是个XY问题。