You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SwiftUI的#Preview中模拟接收Error参数的视图?

解决SwiftUI预览中Error实例化的问题

方法一:自定义Mock错误类型(推荐)

先定义一个遵循Error协议的枚举,用于模拟不同错误场景:

enum MockError: Error {
    case sampleError
    case networkFailure
    case invalidInput
}

然后修改预览代码,使用这个自定义错误实例:

#Preview {
    let errorWrapper = ErrorWrapper(
        error: MockError.sampleError,
        guidance: "请检查输入后重试",
        errorStyle: ErrorStyle.ok
    )
    ErrorViewOk(errorWrapper: errorWrapper)
}

方法二:直接使用NSError快速创建

如果不想自定义错误类型,可以直接用NSError初始化实例(它默认遵循Error协议):

#Preview {
    let mockError = NSError(
        domain: "com.yourapp.mockerror",
        code: 1001,
        userInfo: [NSLocalizedDescriptionKey: "模拟的错误描述"]
    )
    let errorWrapper = ErrorWrapper(
        error: mockError,
        guidance: "请检查网络连接",
        errorStyle: ErrorStyle.ok
    )
    ErrorViewOk(errorWrapper: errorWrapper)
}

注意事项

  • 预览闭包内不能使用static var,直接创建局部变量即可
  • 若需展示不同错误场景,只需切换MockError的case或调整NSError的参数

内容的提问来源于stack exchange,提问作者MatFetsch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:39:50