PassthroughSubject 中的 Never 是什么?

RPa*_*l99 2 swiftui combine

SwiftUI对于要符合 的类BindableObject,它必须有一个发布者,通常是didChange,在我迄今为止看到的所有 SwiftUI 文档和视频中,它是一个PassthroughSubject.

例如,如果您有一个名为 的类TestObjectdidChange则可能等于PassthroughSubject<TestObject, Never>()。我知道第一种类型是传递的数据类型PassthroughSubject,但是什么是Never?它的目的是什么?是否有第二种类型不适用的场景Never

rra*_*ael 6

提供的第二种类型PassthroughSubject是在发生故障时使用的类型。

final class PassthroughSubject<Output, Failure> where Failure : Error
Run Code Online (Sandbox Code Playgroud)

此类型的唯一要求是符合Error.

当获取数据的方式可能产生错误(例如网络错误)时,您可以使用错误类型。