Swiftui 如何预览包含绑定到其父视图的视图';什么州?

Swiftui 如何预览包含绑定到其父视图的视图';什么州?,swiftui,Swiftui,我将此视图显示为其父视图中的图纸 struct NamesView: View { @Binding var match: Match var body: some View { ... } } 由于匹配真实源位于呈现此名称视图工作表的父视图中,因此在构建视图时,我会按预期传入一个$match绑定和数据流 但是,在预览提供程序中构造此视图时 struct NamesView_Previews: PreviewProvider { static

我将此视图显示为其父视图中的图纸

struct NamesView: View {
    @Binding var match: Match

    var body: some View {
        ...
    }
}
由于
匹配
真实源位于呈现此
名称视图
工作表的父视图中,因此在构建视图时,我会按预期传入一个
$match
绑定和数据流

但是,在预览提供程序中构造此视图时

struct NamesView_Previews: PreviewProvider {
    static var previews: some View {
        NamesView()
    }
}
编译器说
NamesView()
需要类型为
Binding
match
参数(
match
是将此视图显示为工作表的父视图)。我不确定从这里开始的好方法是什么,或者这是否是SwiftUI的一个限制。

试试这个:

struct NamesView_Previews: PreviewProvider {
        static var previews: some View {
            NamesView(match:.constant(Match()))
        }
    }

如果您只希望不断预览,那么它可以

struct NamesView_Previews: PreviewProvider {
        static var previews: some View {
            NamesView(match: .constant(Match()))
        }
    }
如果你想在现场直播,可以

struct NamesView_Previews: PreviewProvider {
    struct BindingTestHolder: View {
        @State private var testedMatch = Match()
        var body: some View {
            NamesView(match: $testedMatch)
        }
    }

    static var previews: some View {
        BindingTestHolder()
    }
}