在 SwiftUI 中观察 PassthroughSubject 中的错误

Posted

技术标签:

【中文标题】在 SwiftUI 中观察 PassthroughSubject 中的错误【英文标题】:Observe errors in PassthroughSubject in SwiftUI 【发布时间】:2021-02-23 11:31:37 【问题描述】:

假设我有以下PassthroughSubject,在ObservableObject 的某处:

@Published var errorOccured = PassthroughSubject<(), Error>()

我向它发送一个错误:

self.errorOccured.send(completion: .failure(error))

当发生错误时,如何通过View 通知我?我知道onReceive 可以通知我值,但我对错误感兴趣。

【问题讨论】:

【参考方案1】:

请记住,您正在发出完成事件,因此您只能使用您概述的方法发出一次错误。如果你要在 SwiftUI 中处理完成事件,你的 UI 会在事后冻结。这不太可能是您想要的,而且我不认为该库提供了这样的方法。考虑改用PassthroughSubject&lt;Error, Never&gt;

【讨论】:

哦,知道了。谢谢!

以上是关于在 SwiftUI 中观察 PassthroughSubject 中的错误的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中观察 PassthroughSubject 中的错误

在 SwiftUI 中使用可观察对象切换视图

使用 Combine 和 SwiftUI 在 Realm 中观察收集结果

声明后不可访问的可观察对象中的变量(SwiftUI)

如何在 SwiftUI 中使用可观察对象并与 NavigationLink 绑定?

在 SwiftUI 小部件中添加观察者的位置