如何通过ViewModel在SwiftUI中遇到API请求错误时显示警报?

如何通过ViewModel在SwiftUI中遇到API请求错误时显示警报?,swift,mvvm,error-handling,swiftui,alert,Swift,Mvvm,Error Handling,Swiftui,Alert,下面是NewsViewModel。我应该在此viewModel中添加什么属性来触发其相应视图中的警报?提前谢谢 我将为此创建一个枚举类型。在您的视图模型中,我可能会添加以下内容: enum Error { case noNetwork case noNewsFound case missingImages var alert: Alert { switch self { // Build SwiftUI.Alert instances for each erro

下面是NewsViewModel。我应该在此viewModel中添加什么属性来触发其相应视图中的警报?提前谢谢

我将为此创建一个枚举类型。在您的视图模型中,我可能会添加以下内容:

enum Error {
  case noNetwork
  case noNewsFound
  case missingImages

  var alert: Alert {
    switch self {
    // Build SwiftUI.Alert instances for each error case
    }
  }
}
然后,我会将此属性添加到视图模型中:

@Published var error: Error?
最后,在你看来,我要补充一点:

// Your view here
.alert(item: $viewModel.error) { error in 
  error.alert // This returns the computed Alert you added to your Error type
}

然后在视图模型中,您只需将
error
属性设置为适当的error,视图就会显示警报。

您希望显示哪种警报以及在何种条件下显示警报?另外,请添加代码而不是屏幕截图,并添加视图代码。每当我尝试执行API调用但遇到错误请求时,我希望显示类似UIAlertView的内容。