实例成员不能用于SwiftUI预览中的类型

实例成员不能用于SwiftUI预览中的类型,swiftui,preview,Swiftui,Preview,我的预览中出现以下错误: struct DetailView: View { var header: DataProvider.DataHeader var body: some View { Text("...") } } struct DetailView_Previews: PreviewProvider { var a = DataProvider.DataHeader(title: "a", text: "b") stati

我的预览中出现以下错误:

struct DetailView: View {
    var header: DataProvider.DataHeader

    var body: some View {
        Text("...")
    }
}

struct DetailView_Previews: PreviewProvider {
    var a = DataProvider.DataHeader(title: "a", text: "b")

    static var previews: some View {
        DetailView(header: a)
    }
}
错误是:

Instance member 'a' cannot be used on type 'DetailView_Previews'

为什么会发生这种情况?

这是由于
静态var预览造成的

因此,也可以使用static

static var a = DataProvider.DataHeader(title: "a", text: "b")
或在适当的地方建造

DetailView(header: DataProvider.DataHeader(title: "a", text: "b"))

回答得很好。这是另一个例子,说明了一些编程语言对新用户的敌意。生成这样的错误消息的工具有足够多的信息来提示它为什么会遇到错误?